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 :

Affichage modalPanel avec comandButton


Sujet :

JSF Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 27
    Par défaut Affichage modalPanel avec comandButton
    Bonjour,

    J'ai un petit soucis, dans mon code (ci-dessous) j'ai un commandButton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a4j:commandButton id="refresh" action="#{boDocument.refresh}" value="refresh" oncomplete="Richfaces.showModalPanel('panel')" reRender="panel" />
    qui me permet d'afficher un modalPanel
    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
    <h:form>
                <rich:modalPanel id="panel" width="600" height="500">
                    <f:facet name="header">
                        <h:panelGroup>
                            <h:outputText value="Prompts"></h:outputText>
                        </h:panelGroup>
                    </f:facet>
                    <f:facet name="controls">
                        <h:panelGroup>
                            <h:graphicImage value="../Images/close.png" styleClass="hidelink" id="hidelink" height="20px" width="20px"  />
                            <rich:componentControl for="panel" attachTo="hidelink" operation="hide" event="onclick"/>
                        </h:panelGroup>
                    </f:facet>
                    <iframe id="docFrame" src="prompts.xhtml" width="100%" height="100%">
                        <p> Your browser does not support iframes </p>
                    </iframe>
                </rich:modalPanel>
            </h:form>
    à la fin du traitement spécifié dans le commandButton.

    MAIS CA NE MARCHE!!! Le modalPanel ne s'affiche pas, et on dirait que la page se raffaîchit à la place d'afficher le ModalPanel...

    Pouvez vous me dire où est le problème?



    Merci d'avance pour votre réponse

  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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    2 choses :

    1. Il ne faut pas rafraichir un modalPanel, mais son contenu. En gros, il faut ajouter un composant (un <a4j:outputPanel> par exemple) qui va contenir tout ce que doit contenir le modalPanel, mais qui est contenu dans ce panel. Et ensuite, le reRender doit référencer ce composant et non le modalPanel lui-même.

    2. Bouh, une iframe, c'est pas beau ! Ne serait-ce pas plus sympa d'utiliser autre chose (un <ui:include> ?)...
    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
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 27
    Par défaut
    Bonjour,

    Merci pour votre réponse, j'ai fait ce que vous avez dit mais ça ne fonctionne toujours pas : j'ai essayé de positionner le outputPanel à différents endroits du code mais rien n'y fait, la réaction est toujours la même.

    Par contre quand je rajoute un rich:componentControl le panel s'affiche mais pas à la fin du traitement...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <a4j:commandButton id="refresh" action="#{boDocument.refresh}" value="refresh" oncomplete="Richfaces:showModalPanel('panel')" reRender="outputPanel">
        <rich:componentControl for="panel" attachTo="refresh" operation="show" event="onclick"/>
    </a4j:commandButton>
    On dirait que la commande à l'intérieur du oncomplete n'as aucun effet ...

  4. #4
    Membre chevronné

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur J2EE Senior
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Par défaut
    Citation Envoyé par appocallypseman Voir le message
    MAIS CA NE MARCHE!!! Le modalPanel ne s'affiche pas, et on dirait que la page se raffaîchit à la place d'afficher le ModalPanel...
    Ton problème vient de l'utilisation d'une balise '<h:form>'. Lorsque tu fais le rerender, le formulaire est soumis au serveur avant que son contenu ne soit rafraichi. Et comme tu utilise cette balise, ça entraine le rafraichissement de toute la page, d'où ton soucis. Si tu ne veux rafraichir qu'une partie de la page, utilise un '<a4j:form>'. C'est le principe de l'ajax
    Mes cours sur l'écosystème Java EE - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Il n'y a strictement aucune contre-indication à utiliser de l'ajax avec un <h:form> !! Ou alors ça fait presque 4 ans que j'ai une application qui marche par magie, vu que je n'utilise aucun <a4j:form> dans mon code

    @appocallypseman Est-ce que tu peux nous montrer l'intégralité de ta page ?
    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

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 27
    Par défaut
    Merci bien mais j'ai trouvé où était mon problème.

    La fonction showModalPanel a des arguments obligatoires showModalPanel('panel', {widht:500}). Je n'avais pas rempli la deuxième partie de la fonction pensant que si on ne spécifiait rien ça prendrait les valeurs par défaut.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/09/2010, 16h36
  2. Affichage aléatoire avec coéfficients
    Par groupejtt dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 08/11/2005, 22h09
  3. Affichage incorrect avec une JScrollPane
    Par tck-lt dans le forum Agents de placement/Fenêtres
    Réponses: 23
    Dernier message: 04/08/2005, 11h07
  4. Affichage Données avec Espace ds Zone Texte
    Par dai.kaioh dans le forum ASP
    Réponses: 2
    Dernier message: 22/02/2005, 16h43
  5. Affichage graphe avec DBChart
    Par grominetos dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/06/2004, 19h17

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