IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

certains attributs ne gardent pas leurs valeurs


Sujet :

Struts 1 Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 549
    Points : 704
    Points
    704
    Par défaut certains attributs ne gardent pas leurs valeurs
    salut

    j'utilises struts 1 avec des jsp

    j'ai une action struts et un formulaire (form)

    j'ai un jsp, je clique sur une certain zone, je vais dans une méthode de mon action
    ma liste est pleine

    dans ce jsp, je clique sur une autre zone, je vais dans une autre méthode de mon action
    mais la même liste est vide

    il y a pas d'endroit dans mon code où je mets ma liste a vide

    dans struts-config mon action a la scope: request

    une idée?

  2. #2
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Comment instancies-tu ta liste dans ton action?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 549
    Points : 704
    Points
    704
    Par défaut
    dans mon form je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private List<LabelValueBean> x = new ArrayList<LabelValueBean>();
    le combo est remplie avec le code ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:select name="ticket" indexed="true" styleId="ticket[${index}].code" property="code" style="width: 130px;" styleClass="select" onchange="" >
    	<html:optionsCollection name="monForm" property="x" label="label" value="value" />
    </html:select>
    je cherche donc dans mon form a avoir le contenu de ma liste

    dans mon action

    je fais monForm.x
    mais elle est vide...

    pourquoi?

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    A chaque clic, une nouvelle requête est soumise.
    Donc, au deuxième clic, le form-bean étant dans le scope request, il est réinstancié et l'ArrayList également.
    Ceci explique que l'ArrayList est vide au réaffichage de la page.
    Pour éviter ce problème, il suffit de mettre le scope du form-bean à session dans le mapping de l'Action.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récuperer le nom d'un attribut (et non pas sa valeur)
    Par oups! dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 20/11/2012, 14h00
  2. Réponses: 8
    Dernier message: 05/07/2012, 14h35
  3. [PHP 5.3] [POO] Comment afficher le nom de l'attribut et non pas sa valeur
    Par pierrot10 dans le forum Langage
    Réponses: 5
    Dernier message: 28/03/2010, 21h59
  4. [POO] La valeur de l'attribut ne change pas...
    Par slydemusli dans le forum Langage
    Réponses: 3
    Dernier message: 26/03/2006, 12h10
  5. [JSTL] Mes variables ne sont pas remplacées par leur valeur
    Par thomine dans le forum Taglibs
    Réponses: 9
    Dernier message: 18/03/2005, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo