Je sais pas si ca va repondre exactement a ta question mais je crois que j ai fait un tuto dans le meme genre hier. Pour conserver les infos en laissant un scope 'request', il faut que ta classe 'action' qui traite le formulaire (en scope request donc), reaffecte les infos a la requete qu'il donne en sortie.
J'utiliserai donc un 'ActionForward' dans la classe qui etend 'Action'.
Pour ca, tu copies les infos contenues dans le actionform (ici monObjetForm) dans un objet (ici monObjet) qui permet le traitement du formluaire recu. Ca veut dire que tu as construit en plus du actionform, un objet identique qui recupere tous les attributs du formulaire.
Tu importes la classe de l'objet (monObjet), et l'instancies dans la methode 'execute' de l'action 'ActionForward':
1 2 3 4 5 6 7
| public ActionForward execute(..., ActionForm monObjetForm,...) {
MonObjet monObjet = new monObjet();
BeanUtils.copyProperties(monObjet, monObjetForm);
... |
Une fois que les infos du formulaire sont tranquiles dans leur nouveau objet tout neuf, tu peux préparer la requete du forward en y incluant les infos que tu retransmets:
... request.setAttribute(mapping.getAttribute(), monObjet); ...
puis tu forwardes:
... return mapping.findForward("monForward");
Doit y avoir d'autres possibilites, mais j'espere que ca repond a ta question.
Partager