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

JSF Java Discussion :

ouvrir une fenetre modale


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 28
    Par défaut ouvrir une fenetre modale
    Bonjour, j'ai un souci pour ouvrir une fenetre modale en java en utilisant l'objet facescontext:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FacesContext ctx = FacesContext.getCurrentInstance();
    ExternalContext extContext = ctx.getExternalContext();
    extContext.redirect("http://localhost:8080/MODULE_WEB/Pages/Outil/Birt.jsp");
    ce code m'affiche la page demandée, mais je veux que cette fenetre soit modale, que je lui enleve la barre d'outil, la barre des menus... c.a.d un comportement similaire à celui proposée par window.open de javascript.
    merci d'avance.

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Comment appelles tu cette action depuis tes pages JSF (quels composants, etc.) ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 28
    Par défaut
    merci de m'avoir répondu si rapidement,
    le code précedent fait partie d'une méthode printEtat dans un managedbean EBPrint, et l'appel de cette méthode se fait dans le composant suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a4j:commandButton styleClass="bouton" id="submit" value="Imprimer" type="submit" action="#{EBPrint.printEtat}" />
    j'ai utilisé au début l'attribut oncomplete comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a4j:commandButton styleClass="bouton" id="submit" value="Imprimer" type="submit"  
    oncomplete="window.showModalDialog('JE METS ICI URL','Impression','dialogWidth:800px;dialogHeight:700px');" />
    mais cette méthode ne m'a pas arrangé car je n'affiche cette fenetre que dans un cas donc j'ai besoin de faire un test sur une variable dans le managedbean.la méthode printEtat ressemble à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public void printEtat(){
     if(print){
       try{
        FacesContext ctx = FacesContext.getCurrentInstance();
        ExternalContext extContext = ctx.getExternalContext();
        extContext.redirect("http://localhost:8080/Module_WEB/Pages/Outil/Birt.jsp");
      }catch (Exception ex){
       }
    }else{
       FacesMessage fm = new FacesMessage("le code que vous avez choisis       n'existe pas dans la table");
      fm.setSeverity(FacesMessage.SEVERITY_ERROR);
      FacesContext.getCurrentInstance().addMessage(null, fm);
     }

  4. #4
    Membre éprouvé Avatar de juridakus
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 82
    Par défaut
    Bonjour, Je te proposerai de déclarer une variable dans ton bean comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    String varlink = "";
     
    Dans ta page:
    <a4j:commandButton styleClass="bouton" id="submit" value="Imprimer" type="submit" action="#{EBPrint.printEtat}" 
    oncomplete="tonBean.varlink" />
    Et ta méthode deviendrait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public void printEtat(){
     if(print){
       varlink = "window.showModalDialog('JE METS ICI URL','Impression','dialogWidth:800px;dialogHeight:700px');";
    }else{
       varlink="";
       FacesMessage fm = new FacesMessage("le code que vous avez choisis       n'existe pas dans la table");
      fm.setSeverity(FacesMessage.SEVERITY_ERROR);
      FacesContext.getCurrentInstance().addMessage(null, fm);
     }
    Espérant que cela t'aide.
    PS: Il serait préférable de toujours récupérer l'adresse serveur de façon dynamique, car si tu te connectes à ton application à partir d'un autre poste, la redirection avec "http://localhost:8080/..." en dur risque de ne pas marcher.

  5. #5
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 28
    Par défaut
    ça a marché, mille merci

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

Discussions similaires

  1. Ouvrir une fenetre modal
    Par BILANGA dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/02/2015, 17h55
  2. Ouvrir une fenetre modale à partir d'une autre
    Par sabdoul dans le forum jQuery
    Réponses: 4
    Dernier message: 05/08/2014, 12h39
  3. Réponses: 1
    Dernier message: 24/03/2011, 14h35
  4. Ouvrir une fenetre non modale avec Show()
    Par morel16 dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 03/05/2010, 09h46

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