<result name="input"> et paramétrés
Bonjour. j'utilise Struts 2 pour une appli web.
Sur une page, j'ai un formulaire avec une action="addPost".
La 1ere fois que j'envoi le formulaire, pas de problème mais la second fois, je suis obligé d'utiliser une result input dans mon fichier struts sinon, sa veux pas.
Mon fichier Struts :
Code:
1 2 3 4 5 6 7
| <action name = "addPost" class = "fp.top.action.DetailsCommandeAction" method = "AddPost">
<result name="success" type="redirectAction">
<param name="actionName">details</param>
<param name="commande.idCommande">${commande.idCommande}</param>
</result>
<result name="input">/WEB-INF/views/details_commande.jsp</result>
</action> |
J'ai besoin de revenir sur la page sur laquelle je me trouve : /WEB-INF/views/details_commande.jsp avec le paramètre : ${commande.idCommande} mais je sais pas comment faire passer le paramètre avec un result input.
Méthode "AddPost" :
Code:
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 27 28
| public String AddPost() { DAO<Commande> cDao = DAOFactory.getCommandeDao();
commande = cDao.find(commande.getIdCommande());
DAO<PosteLigne> postDao = DAOFactory.getPosteLigneDao();
DAO<PosteLigne> postsDao = DAOFactory.getPosteLigneDao();
posteLignes = postDao.findAll();
posteLigne.setCommande(commande);
posteLigne.setClos(false);
posteLigne.setMontantPosteLigne(posteLigne.getMontantPosteLigne());
posteLigne.setNumeroLigne(posteLigne.getNumeroLigne());
try {
posteLignes = postDao.findAll();
PosteLigneId posteLigneId = new PosteLigneId(commande.getIdCommande(),posteLignes.size()+1);
posteLigne.setId(posteLigneId);
postDao.create(posteLigne);
}catch(Exception e) {
PosteLigneId posteLigneId = new PosteLigneId(commande.getIdCommande(),1);
posteLigne.setId(posteLigneId);
postDao.create(posteLigne);
}finally {
}
return SUCCESS;
} |
Malgré mes nombreux essais, je n'ai jamais réussi à exécuter le code complet du try.
Ah oui, j'aller oublier, en fait l'envoi du formulaire n'appelle pas l'action (action="addPost") du formulaire. :koi:
Merci d'avance pour votre aide.