Bonjour,
Je suis en train de suivre le tuto de Serge Tahé. Je suis en train de faire l'étude de cas mettant en pratique tous les éléments d'un formulaire html.
Je bloque au niveau des select. Celui ci ne se remplit pas.
Dans formulaire.jsp, la vue, j'utilise bien <html:optionS qui attends un tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <html:form action="/confirmation"> .... .... <td>Combo</td> <td> <html:select name="dynaFormulaire" property="combo" > <html:options name="dynaFormulaire" property="valeursCombo" /> </html:select> </td> </tr> <tr> <td>Liste à selection unique</td> <td> <html:select name="dynaFormulaire" property="listeSimple" size="3"> <html:options name="dynaFormulaire" property="valeursListeSimple" /> </html:select> </td> </tr> <tr> <td>Liste à selection multiple</td> <td> <html:select name="dynaFormulaire" property="listeMultiple" size="5" multiple="true"> <html:options name="dynaFormulaire" property="valeursListeMultiple" /> </html:select> </td> ..... <html:submit>Envoyer</html:submit> </html:form>
La vue est rattaché
- à l'action "com.myapp.struts.InitFormulaireAction" qui va remplir le combo avant de l'envoyer au navigateur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <form-beans> <form-bean name="dynaFormulaire" type="com.myapp.struts.DynaActionForm"> <form-property name="opt" type="java.lang.String" initial="non"/> <form-property name="chk1" type="java.lang.String" /> <form-property name="chk2" type="java.lang.String" /> <form-property name="chk3" type="java.lang.String" /> <form-property name="champSaisie" type="java.lang.String" initial=""/> <form-property name="mdp" type="java.lang.String" /> <form-property name="boiteSaisie" type="java.lang.String" initial=""/> <form-property name="combo" type="java.lang.String" /> <form-property name="listeSimple" type="java.lang.String" /> <form-property name="listeMultiple" type="java.lang.String[]" /> <form-property name="secret" type="java.lang.String" initial="xxx"/> <form-property name="valeursCombo" type="java.lang.String[]" /> <form-property name="valeursListeSimple" type="java.lang.String[]" /> <form-property name="valeursListeMultiple" type="java.lang.String[]" /> </form-bean> </form-beans> ... .... <action path="/init" name="dynaFormulaire" validate="false" scope="session" type="com.myapp.struts.InitFormulaireAction" > <forward name="afficherFormulaire" path="/vues/formulaire.jsp" /> </action>
et l'action :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public class InitFormulaireAction extends org.apache.struts.action.Action { private final static String SUCCESS = "afficherFormulaire"; public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { DynaActionForm formulaire = (DynaActionForm) form; //formulaire.set ("valeursCombo", getValeurs (5, "combo")); String[] t = {"toto", "titi" }; formulaire.set ("valeursCombo", t); formulaire.set ("valeursListeSimple", getValeurs(7, "simple")); formulaire.set ("valeursListeMultiple", getValeurs(10, "multiple")); return mapping.findForward(SUCCESS); } private String[] getValeurs (int taille, String label) { String [] valeurs = new String[taille]; for (int i=0;i<taille;i++) { valeurs[i] = label + i; } return valeurs; }
Bref, je bloque. Je m'attendrais à voire toto et titi dans le select valeursCombo. J'ai bien verifier si les noms des champs entre l'action et la vue jsp etaient bien identiques.
Ou ai je pourrais avoir fauté ?
Partager