Bonjour,
j'ai un formulaire avec une liste et un bouton "+" qui permet de rajouter une ligne au tableau avec une autre liste et un autre bouton "+".
Ceci me donne un tableau dynamique qui permet a l'utilisateur de choisir le nombre d'élément qu'il souhaite selectionné.
mon code jsp :
Mon action listeCommandes.do est appelé avant la jsp pour remplir mon select avec la collection commandesList.Il remplis egalement ListeCommande qui est en fait le nombre de select qu'il y aura dans le tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <logic:iterate id="commandesb" name="ListeCommande"> <tr> <td> <html:select property="listeCommandeChoisi"> <html:options collection="commandesList" property="nom" labelProperty="nom"></html:options> </html:select> </td> <td> <input type=button onclick="window.location='listeCommandes.do?action=add';" value="+" class="boutonForm" /> </td> </tr> </logic:iterate>
Lorsque l'utilisateur appuie sur le bouton +, je rajoute un élément dans ListeCommande.
Lorsqu'il recharge la page il me rajoute bien un select mais ce que l'utilisateur avaient selectionné avant est perdu. J'ai mis un value ="toto" dans le select mais ca ne fonctionne pas. Je ne sait même pas comment récupérer l'élément selectionné a part peu être avec le lien : listeCommande.do?commande="MANGER", ensuite l'ajouter dans une variable et arriver a le rajouter dans la jsp...
Je ne fait pas de submit parceque lorsque je fait un submit, j'ai une autre action qui me récupère bien les éléments choisi par l'utilisateur (listeCommandeChoisi) et ensuite me redirige vers une autre jsp.
listeCommande.do appelé avant la jsp et lors du clique sur le bouton "+" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 if(session.getAttribute("ListeCommande")!=null){ ListeCommande = (ArrayList<Commande>)session.getAttribute("ListeCommande"); Commande com = new Commande(); com.setNom("toto"); ListeCommande.add(com); } else{ ListeCommande = new ArrayList<Commande>(); ListeCommande.add(new Commande()); } session.setAttribute("ListeCommande", ListeCommande);
C'est un peu compliqué a expliquer, j'espère que j'ai été clair.
Merci de vos réponses
Partager