[Struts 1] : collection vide suite à la soumission d'un formulaire
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:
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:
1 2 3
| <form-bean name="myForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="myCollection" type="java.util.List" />
</form-bean> |
Code:
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:
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");
} |