Bonjour,
Je suis sur une application Struts 1
Je fais deux actions :
- Une recherche qui ramène une collection non vide "myCollection".
- je lance une deuxième action qui fait "soumettre" le formulaire. Je récupère les champs de mon formulaire, mais je n'ai plus les éléments de ma collection "myCollection", elle est "null".
Voici le code.
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <action path="/myAction" type="fr.MyClassAction" parameter="method" scope="request" validate="false" name="myForm"> <forward name="recherche" path="/WEB-INF/jsp/myPage.jsp" contextRelative="true" redirect="false"/> </action>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <form-bean name="myForm" type="org.apache.struts.validator.DynaValidatorForm"> <form-property name="myCollection" type="java.util.List" /> </form-bean>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <html:form styleId="myForm" action="myAction.do?method=myMethod"> <logic:iterate name="myForm" property="myCollection" id="elt" indexId="index"> <tr> <td><html:text name="elt" property="date" /></td> <td> <html:text name="elt" property="commentaire" /> </td> </tr> </logic:iterate> </html:form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public ActionForward myMethod(ActionMapping pMapping, ActionForm form, HttpServletRequest pRequest, HttpServletResponse pResponse) throws Exception { // en mode debug, myCollection dans dynaform est null. Alors que les autres champs sont bien renseigné DynaValidatorForm dynaForm = (DynaValidatorForm) form; String autreChamp = String.valueOf(dynaForm.get("autreChamp")); // list est null List list = (List) dynaForm.get("myCollection"); }
Partager