IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

[Struts 1] : comment ouvrir une popop seulement après validation métier


Sujet :

Struts 1 Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2023
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2023
    Messages : 21
    Points : 8
    Points
    8
    Par défaut [Struts 1] : comment ouvrir une popop seulement après validation métier
    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>
    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");
    	}
    Dans struts-config.xml :
    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.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2023
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2023
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Je ne vois pas comment faire pour ouvrir la popup seulement après la validation métier (règles de gestions) !!
    Car pour le moment, si des règles de gestion ne sont pas valides, la popup s'ouvre avec dedans les messages d'erreurs et tout le contenu de la jsp (mère) d'où on lance la popup

    D'avance merci pour votre aide

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Une solution consisterait à appeler de manière "normale" le contrôleur qui fait la vérification.

    - Si la vérification n'aboutit pas, on affiche la page source comme ce serait le cas d'un formulaire habituel.
    - Si la vérification aboutit, on affiche en retour une page spécifique qui contient un <iframe> de la taille de la page pour y afficher le pdf.

    On peut imaginer générer le pdf par une action spécifique dans ce cas on mettra l'url de cette action dans l'attribut src du iframe.
    Mais on pourrait générer le pdf après la vérification et l'enregistrer sur disque, dans ce cas, on mettrait l'url d'une servlet pour récupérer le pdf dans l'iframe.

    Bref, il y a de quoi faire

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2023
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2023
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Une solution consisterait à appeler de manière "normale" le contrôleur qui fait la vérification.

    - Si la vérification n'aboutit pas, on affiche la page source comme ce serait le cas d'un formulaire habituel.
    - Si la vérification aboutit, on affiche en retour une page spécifique qui contient un <iframe> de la taille de la page pour y afficher le pdf.

    On peut imaginer générer le pdf par une action spécifique dans ce cas on mettra l'url de cette action dans l'attribut src du iframe.
    Mais on pourrait générer le pdf après la vérification et l'enregistrer sur disque, dans ce cas, on mettrait l'url d'une servlet pour récupérer le pdf dans l'iframe.

    Bref, il y a de quoi faire
    Merci pour votre réponse.
    Finalement j'ai ajouté une étape de validation des saisies et des règles de gestions. Une fois tout est ok, je mets à disposition le bouton qui permet de faire l'impression.

    Encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment ouvrir une nouvelle vue vide après la création d'un devis
    Par alext08 dans le forum Odoo (ex-OpenERP)
    Réponses: 0
    Dernier message: 01/03/2017, 17h11
  2. [C#] Comment ouvrir une form dans un panel
    Par Le Basque dans le forum Windows Forms
    Réponses: 7
    Dernier message: 28/02/2007, 12h31
  3. [JFrame] Comment ouvrir une fenêtre maximiser
    Par dadg dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 11/12/2004, 18h38
  4. TTreeView -> Comment ouvrir une unité ?
    Par DaLove dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/12/2002, 11h30
  5. Réponses: 1
    Dernier message: 31/10/2002, 11h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo