Bonjour,
Je suis sur une application struts 1.
Dans la jsp, j'ai un formulaire et un bouton "imprimer", en le cliquant on soumet le formulaire et on lance le fonction print().
La fonction print() ouvre une popup imprimer qui permet de générer un rapport PDF dans une popup
Dans la jsp on a :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <html:form action="myAction.do?method=print"> <a href="javascript:print();">Imprimer</a> </html:form>Dans struts-config.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function print() { var url = "myAction.do?method=print"; window.open(url, "","top=0,left=0,width=970,height=680,menubar=no,toolbar=no,location=no,directories=no,status=yes,scrollbars=no,resizable=yes,copyhistory=no"); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <action path="/myAction" type="fr.MyAction" parameter="method" scope="request" validate="false" name="myForm"> <forward name="rechercher" path="/WEB-INF/jsp/myPage.jsp" contextRelative="true" redirect="false"/> </action>
Dans la méthode print de myAction, il y a des règles de gestion à vérifier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public ActionForward print(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionMessages messages = validateForm(mapping, request, form); messages = verifierReglesDeGestions(messages, dynaForm); if (!messages.isEmpty()) { saveErrors(pRequest, messages); return mapping.findForward("rechercher"); } impirmer(); return null; }
Avec cette implémentation, dans le cas où tout se passe bien et que les règles de gestions sont ok, la popup s'ouvre avec toutes les informations.
Mais dans le cas où il y a des erreurs de règles de gestions, la popup s'ouvre quand même !
Question :
Pour le moment, la popup s'ouvre depuis la jsp, comment pouvoir l'ouvrir après la validation des règles de gestions, donc depuis le JAVA (méthode print) ?
comment éviter que la popup ne s'ouvre pas systématiquement ? et ne l'ouvrir que si tout est ok.
D'avance merci pour votre aide.
Partager