Bonjour,
Le point que je vais aborder est à mons avis une problématique courante dans des applications web.
J'ai une liste déroulante (html:select) dans un logic:iterate :
Les select ont donc tous le même nom.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <logic:notEmpty name="contratAdherent" property="lesBeneficiaire"> <logic:iterate name="contratAdherent" property="lesBeneficiaire" id="beneficiaire" indexId="cptBeneficiaire"> <tr height="20"> <td class="detail_vert" align="left"> <html:select property="codeMouvement"> <html:option value="A">Annulation</html:option> <html:option value="C">Création</html:option> </html:select> </td> </tr> </logic:iterate> </logic:notEmpty>
Résultat HTML:
Déclaration du formulaire dans le struts-config.xml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <select name="codeMouvement"> <option value="A" selected="selected">Annulation</option> <option value="C" selected="selected">Création</option> </select>
Je souhaite donner une valeur par défaut à chaque liste, mais je ne veux pas que ce soit forcément la même valeur pour chacune d'entre elles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <form-bean name="creerMouvementForm" type="fr.enfamille.cetelic.form.CreerMouvementForm"> <!-- le code mouvement --> <form-property name="codeMouvement" type="java.lang.String[]" /> </form-bean>
Exemple:
j'aimerais initialiser la prémière liste à "Création" et la seconde à "Annulation".
Je tente les codes suivants dans mon Action, mais en vain:
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CreerMouvementForm formulaire = (CreerMouvementForm) form; formulaire.set("codeMouvement", 0, "C"); formulaire.set("codeMouvement", 1, "A");
Cela ne marche pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String[] tableau = {"C", "A"}; formulaire.set("codeMouvement", tableau);
Quand je mets "A" partout, il met bien "Annulation" pour les deux listes,
mais si je mets au moins un "C" à une des listes, toutes les listes ont la valeur "Création" par défaut. J'ai noté que c'est parceque l'option "Création" est la dernière.
Si j'inverse les positions des 2 options, et que je mets "A" en valeur par défaut pour au moins une des listes, toutes les listes ont "Annulation" en valeur par défaut.
Quelqu'un a une idée ?
Partager