Objet écrasé au passage entre la jsp et une action
Bonjour,
j'ai un formulaire d'édition d'un objet Survey (saisie).
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
public class Survey {
...
private String freq;
private String information;
/** Liste des observatons composant la saisie */
private List<Observation> observations;
... |
voici mon formulaire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <s:form method="post" action="Ajouter_Saisie" theme="simple">
Votre saisie pour <s:property value="#session.CURRENT_PLANNING.label"/>
<br />
<s:text name="app.freq" />
<br />
<s:select name="survey.freq" list="freqListe" listKey="other" listValue="label"></s:select>
<br />
<br />
<s:iterator value="survey.observations">
<!-- modifier en base le photoLink et le idCardLink-->
<img src="<s:property value="speciesGroup.photoLink"/>"></img>
<!-- abondance-->
<s:textfield name="abundance"/>
<!-- le nom du groupe despèces-->
<s:property value="speciesGroup.id"/> - <s:property value="speciesGroup.groupName"/>
<br />
</s:iterator>
<br />
<s:text name="app.surveyCommentaire" />
<br />
<s:textarea name="survey.information" cols="94" value="Entrez ici vos commentaires" rows="6"></s:textarea>
<s:submit value="valider"/>
</s:form> |
et mon struts.xml en ce qui concerne l'objet Survey
Code:
1 2 3 4 5 6 7 8 9 10 11
| <action name="Editer_Saisie" class="fr.mnhn.obj.struts2.actions.SurveyAction" method="editer">
<result name="OPJ">/jsp/ModifierSaisieOPJ.jsp</result>
<result name="OE">/jsp/ModifierSaisieOE.jsp</result>
<result name="OEBoard">/jsp/ModifierSaisieOEBoard.jsp</result>
<result name="OB">/jsp/ModifierSaisieOB.jsp</result>
<result name="OC">/jsp/ModifierSaisieOC.jsp</result>
</action>
<action name="Ajouter_Saisie" class="fr.mnhn.obj.struts2.actions.SurveyAction" method="modifier">
<result name="success" type="redirectAction">Lister_Periodes</result>
</action> |
Quand je clique sur valider le flux se retrouve bien dans la méthode modifier() de ma classe SurveyAction, mais l'objet this.survey que j'avais bien assigné dans ma méthode editer() et qui a bien servi à 'peupler' mon formulaire modifierSaisieOPJ.jsp a été remplacé par une autre instance de Survey, preque vide : freq et informations ont bien été modifiées, mais la liste d'Observation est null. pourquoi un autre instance de Survey a été assignée à mon action que celle que j'avais mise au cours de editer() ? Comment y remédier?
merci pour vos idées...
Olivier