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

Servlets/JSP Java Discussion :

Formulaire : liste non conservée


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut Formulaire : liste non conservée
    Bonjour,

    Dans ma form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private List<Elements> myElementsLst= new ArrayList<Elements>();
    Dans ma jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <html-el:select property="obj.elementId">
    	<option value="">---</option>
    	<html-el:optionsCollection property="myElementsLst" value="id" label="label" />
    </html-el:select>
    Je remplis ma liste et j'affiche la page.
    Mais quand je retourne dans mon action et que je regarde le contenu de la liste après un submit, la liste est de nouveau vide et je dois la remplir de nouveau pour réafficher mon formulaire.

    Quelque chose m'échappe...

  2. #2
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    si je ne me trompe pas, seule la valeur sélectionnée est transmise.
    Ceci s'explique par le fait qu'il n'y a aucun stockage au niveau de la JSP de la liste des valeurs sélectionnables.
    La request n'est pas persistée. Si tu veux garder la liste des éléments sélectionnables, tu peux par exemple la mettre en session.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Citation Envoyé par florentB Voir le message
    Si tu veux garder la liste des éléments sélectionnables, tu peux par exemple la mettre en session.
    Mais ça implique que c'est galère à maintenir car il faut penser à chaque fois qu'on modifie la liste à la mettre en session et à chaque action par laquelle on passe il faut aller la rechercher dans la session et la remettre dans la form.
    C'est horrible...

  4. #4
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    Mais ça implique que c'est galère à maintenir car il faut penser à chaque fois qu'on modifie la liste à la mettre en session et à chaque action par laquelle on passe il faut aller la rechercher dans la session et la remettre dans la form.
    1. Pas besoin de mettre ta liste dans ton form.
      Tu peux définir ta liste de valeur du select à partir de la liste stockée en session.
    2. tu vas créer ta liste à chaque fois de toute manière, la mettre en session ne coûte qu'une ligne de code ...


    Solution plus crade :
    tu boucles sur tes éléments et tu créés des champs cachés dans ta JSP ..
    Ca fonctionnera aussi ...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    J'ai vu aussi ce topic mais là non plus au retour il n'y a plus rien dans la request (on récupère null à la place de la liste envoyée).

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Par contre avec request.getSession().setAttribute("myElementsLst",myList); ça doit mieux marcher mais j'ai
    No getter method for property myElementsLst of bean org.apache.struts.taglib.html.BEAN

    --> Ca ne va plus ça?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <html-el:select property="obj.elementId">
    	<option value="">---</option>
    	<html-el:optionsCollection property="myElementsLst" value="id" label="label" />
    </html-el:select>

  7. #7
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    essaies avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html-el:optionsCollection name="myElementsLst" value="id" label="label" />
    En faisant le property, tu essaies de récupérer un attribut du bean, alors qu'il n'existe pas.
    En faisant le name, tu vas essayer de récupérer un objet se trouvant dans les scopes

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/10/2008, 17h54
  2. [Formulaires] Liste déroulante non modifiable
    Par Syrmonsieur dans le forum IHM
    Réponses: 6
    Dernier message: 23/12/2006, 22h03
  3. Formulaire & liste déroulante
    Par Zebulonn dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 13/05/2005, 14h48
  4. [FORMULAIRE] Liste déroulante dynamique
    Par bchristo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/01/2005, 10h07
  5. Recherche dans une liste non trié
    Par Oberown dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 13/09/2004, 13h56

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