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

Seam Java Discussion :

ouvrir une fenétre popup


Sujet :

Seam Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 197
    Par défaut ouvrir une fenétre popup
    Salut pour tous,
    Est ce que jboss seam permet d'ouvrir une fenetre popup xhtml à partir d'un click sur un bouton.
    Si oui comment je procède pour ouvrir une tel page sous forme de popup ?
    et comment je fait passer les actions à la page popup qui souvre ?

    j'ai utilisé ça avec java script, la page popup s'ouvre mais les actions ne s'exécutent pas.

    Merci pour votre aides

  2. #2
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 222
    Par défaut
    Salut,

    Tu utilise IceFaces ou RichFaces ?

    Moi, j'utilise icefaces et voici donc comment j'ai fait :

    j'ai créé une page xhtml (qui correspond à ma popup) comme ceci :

    maPopup.xhtml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    29
    30
    <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
                          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <f:view xmlns="http://www.w3.org/1999/xhtml"
                    xmlns:s="http://jboss.com/products/seam/taglib"
                    xmlns:ui="http://java.sun.com/jsf/facelets"
                    xmlns:f="http://java.sun.com/jsf/core"
                    xmlns:h="http://java.sun.com/jsf/html"
    		    xmlns:ice="http://www.icesoft.com/icefaces/component"
    		    xmlns:c="http://java.sun.com/jstl/core"
                    template="layout/template.xhtml">
    
    
    <ice:panelPopup visible="#{maPopup.visible}" style="position: absolute; top:250px; left:400px; width:750px;" draggable="true">
     		
    	<f:facet name="header" >
            <ice:panelGrid cellpadding="0" cellspacing="0" columns="2" style="text-align: center;" >
               <ice:outputText style="color: #FFFFFF;" value="Les couleurs"/>
            </ice:panelGrid>
        </f:facet>
                    
        <f:facet name="body">		
     		 <ice:panelGroup>
                    </ice:panelGroup>
     		
        </f:facet>
     		
     </ice:panelPopup>
    
    </f:view>
    c'est grace à cette attribut visible que tu ouvrira et fermera ta popup.

    Ensuite dans la page xhtml où tu veux ouvrir ta popup tu ajoutes à la fin (avant </ui:define>) :

    monFichier.xhtml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <ice:form id="maPopup">
    	<ui:include src="/maPopup.xhtml">
    	</ui:include>
    	</ice:form>

    Ensuite tu as ton bean java maPopup.java, dans cette classe tu as une variable visible et une méthode ouvrir :

    maPopup.java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    @Name("maPopup")
    public class maPopup{
              private boolean visible = false;
     
              public void ouvrir(ActionEvent event){
                   visible=true;
              }
     
             // les getters et les setters
    }
    et ensuite pour ouvrir ta popup en cliquant sur un bouton tu ajoute dans monFichier.xhtml:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <ice:commandButton value="ouvrir Popup" actionListener="#{maPopup.ouvrir}" />
    J'espère que j'ai été clair

    Bon courage

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 197
    Par défaut
    Merci bien bard123 pour votre réponse,
    pour votre question, moi j'utilise RicheFaces.
    Aussi dans richeFaces il y a un composant similaire à ce que vous avez utiliser
    <rich:modalPanel>.

    j'ai résolut le problème en utilisant un composant seam <s:Link>
    avec target =New.
    <s:Link ... target="New" />
    ou bien en utilisant un simple composant <h:commandlink> avec target=#
    <h:commandlink ... target="#" />.
    Avec ces deux méthode, la fenêtre en question s'ouvre dans un nouveau onglet du Browser pas sous forme de pop up.


    J'ai fait des recherches comment récupérer la valeur d'un composant JSF et le modifier en javaScript :
    supposant on a la from suivante:
    <h:form id="myform">
    <h:inputText id="nom" ..../>
    <h:inputText id="prenom" ..../>
    </h:form>

    le nom de l'élément doit être: "myform:nom" et "myform:prenom" et on fait l'accée par la méthode document.getElementById(''); . par exemple :

    var nom_field = document.getElementById('myform:nom');
    var prenom_field = document.getElementById('myform:prenom');
    nom_field.value = prenom_field.value;

    Voici un exemple ou on passe la référence du forme comme paramétré à la fonction java script: onkeypress();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <h:form id="myform">
     <h:inputText id="nom" onkeypress("KeyPress(this.form)") ..../>
    // this fait la référence sur la forme courante
    // this.form renvoie la référence de la forme   
     <h:inputText id="prenom" ..../>
    </h:form>
     
    ...
    ...
     
    function KeyPress(formRef) {
     
    var nom_field = document.getElementById(formRef.name + ':nom' );
    //==> formRef.name renvoie l'id de la forme "myform"
    var prenom_field = document.getElementById(formRef.name + ':prenom' );
    ....
     
    }

    Merci le problème est résolut

    Mais la discussion appartient ainsi au forum jsf pas au forum seam.

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

Discussions similaires

  1. [WB17] Ouvrir une fenêtre Popup depuis un code serveur
    Par LaGhyoute dans le forum WebDev
    Réponses: 0
    Dernier message: 13/06/2014, 14h32
  2. Réponses: 3
    Dernier message: 22/11/2010, 17h30
  3. Ouvrir une fenêtre à partir d'une Popup
    Par Sytchev3 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/10/2007, 11h46
  4. Ouvrir une fenêtre en popup
    Par Mat67 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 20/06/2007, 10h22
  5. [Applet] ouvrir une fenêtre IE
    Par gl0be dans le forum Applets
    Réponses: 2
    Dernier message: 18/03/2004, 16h42

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