Bonjour,
Voici mon problème:
Je reprends un projet avec du struts.
Lorsque l'utilisateur appuie sur un bouton en dessous d'un premier formulaire, cela lui ouvre une popup et lui présente un deuxième formulaire.
Lorsqu'il valide ce deuxième formulaire dans la popup en cliquant sur le deuxième bouton, un message lui indiquant toutes les erreurs des deux formulaires apparaît...
Il est obligé de fermer la popup pour corriger son premier son formulaire et recommencer l'opération...
Vous vous doutez bien que ce que je souhaite c'est:
On click sur le 1er bouton, ça va dans l'action vérifier les données de ce premier formulaire.
Si c'est faux, j'affiche dans cette même page les erreurs.
Si tout est bon, cela ouvre la popup
On click sur le bouton de la popup, s'il y a des erreurs (que ceux de la popup du coup) ils sont affichés sur la popup. Sinon ça valide l'action et on ferme la popup.
J'ai donc
- deux JSP
pageprincipale.jsp
mapopup.jspCode:
1
2 <html:form action="verifierpageprincipale.do" ...> <html:submit styleId="idBoutonSubmit"....>
Code:
1
2 <html:form action="verifierpopup.do" ...> <html:submit styleId="idBoutonSubmit"....>
- trois classes Action (il y avait déjà la MaPopupVerifAction et ma MaPopupValiderAction):
PagePrincipaleAction.java que j'ai ajouté en repportant les vérifications qui étaient faites dans MaPopupVerifAction avant
MaPopupVerifAction.javaCode:
1
2
3
4 ...testsdelapremierepage();... if(erreurs.isEmpty()) {return am.findForward(IConstants.SUCCESS);} else {return am.findForward(IConstants.FAILURE);}
MaPopupValiderAction.java
et mon strusts-config.xml
Code:
1
2
3
4
5
6
7
8
9
10
11 <action path="/pageprincipale" type="PagePrincipaleAction"...> <forward name="failure" path="/pageprincipale.do" ></forward> <forward name="success" path="/mapopup.do" ></forward> </action> <action path="/mapopup" type="MaPopupVerifAction" ...> <forward name="success" path="validermapopup" ></forward> </action> <action path="/validermapopup" type="MaPopupValiderAction"...> <forward name="success" path="popupcloseDef" redirect="true"/> <forward name="cancel" path="popupcloseNoRefreshDef" redirect="true"/> </action>
Ce que je voudrais c'est genre faire
<forward name="failure" path="/pageprincipale.do" ></forward>
<forward name="success" TARGET:nouvelleFenetre path="/mapopup.do" ></forward>
OU en java faire un openPopup(am.findForward(IConstants.SUCCESS));
OU donnez moi des astuces svp!
N'hésitez pas si je ne suis pas claire...
Merci d'avance