Bonjour,
Je ne sais pas si c'est possible, en tout cas, je n'y arrive pas... ;-)
J'aimerai passer les données d'un formulaire mises à jour dans une action, dans une autre action... et récupérer dans cette action les données de ce formulaire.
Voici un peu de code.
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
public class MonForm extends ActionForm {
    private String id;
}
 
public class MonAction1 extends Action {
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		ActionForward forward = mapping.findForward("success");
		MonForm f = (MonForm) form;
		f.setId("toto");
		return forward;
	}
}
 
 
public class MonAction2 extends Action {
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		ActionForward forward = mapping.findForward("success");
		MonForm f = (MonForm) form;
		System.out.println(f.getId()); // je récupère "" et non "toto"
		return forward;
	}
}
Dans le fichier struts-config.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<struts-config>
<!-- Beans de formulaire -->
	<form-beans>
		<form-bean name="MonForm" type="xxx.MonForm">
		</form-bean>
	</form-beans>
<!-- Actions -->
	<action name="MonForm" path="/action1" scope="request" type="xxx.MonAction1">
		<forward name="success" path="/action2" />
	</action>
	<action name="MonForm" path="/action2" scope="request" type="xxx.MonAction2">
		<forward name="success" path="/jsp/form.jsp" />
	</action>
</struts-config>
J'aimerai garder cette structure d'une action qui appelle l'action....
J'ai essayé avec le scope session, ça ne change rien...
Avez-vous des idées?
Cordialement
Matthieu