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 :

ModalPanel et rafraîchissement page principale


Sujet :

JSF Java

  1. #1
    Membre averti
    Homme Profil pro
    Expert MDE
    Inscrit en
    Janvier 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Expert MDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 183
    Points : 337
    Points
    337
    Par défaut ModalPanel et rafraîchissement page principale
    Bonjour à tous,

    Des problèmes, encore des problèmes...

    Cette fois-ci c'est au sujet du rafraichissement d'un dropDownMenu, je vous explique le topo:

    j'ai un index , avec ce fameux dropDownMenu, il est crée dynamiquement, et propose le login si un utilisateur ne l'est pas:
    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
     
    public HtmlDropDownMenu getMenuUtilisateur() {
    menuUtilisateur = new HtmlDropDownMenu();
    		try
    		{
    			menuUtilisateur.setId("menuUtilisateur");
    			menuUtilisateur.setValue("Compte");
    			UtilisateurBean ub=(UtilisateurBean) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("utilisateurBean");
    			if(ub.getUtilisateur().getIdUtilisateur()==0)
    			{
    				HtmlComponentControl hcc=new HtmlComponentControl();
    				hcc.setFor("panelLogin");
    				hcc.setOperation("show");
    				hcc.setAttachTo("seConnecter");
    				hcc.setEvent("onclick");
    				HtmlMenuItem seConnecter= new HtmlMenuItem();
    				seConnecter.setId("seConnecter");
    				seConnecter.setValue("Se connecter");
    				seConnecter.setSubmitMode("none");
    				seConnecter.getChildren().add(hcc);
    Ce form de login est un modalpanel (sympathique composant), et je voudrais qu'une fois qu'il s'est loggué, il y ait un rerender sur le dropdownmenu pour afficher d'autres informations.

    voici donc le 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
    19
    20
    21
     <rich:modalPanel id="panelLogin" width="350" height="150">
    	    <f:facet name="header">
                <h:panelGroup>
                    <h:outputText value="Login"></h:outputText>
    			</h:panelGroup>
            </f:facet>
            <f:facet name="controls">
           		<span style="cursor: pointer" onclick="javascript:Richfaces.hideModalPanel('panelLogin') ">X</span>
      		</f:facet>   
    		<h:form>
        		<h:panelGrid border="1" columns="2">
    				<h:outputText value="Login"></h:outputText>
    				<h:inputText value="#{utilisateurBean.utilisateur.pseudoUtilisateur}" id="login"></h:inputText>
    				<h:outputText value="Mot de Passe"></h:outputText>
    				<h:inputSecret value="#{utilisateurBean.utilisateur.mdpUtilisateur}"></h:inputSecret> 
    				<a4j:commandLink action="#{utilisateurBean.log}" reRender="indexForm:dropDown" oncomplete="if(#{utilisateurBean.utilisateur.idUtilisateur}!=0){Richfaces.hideModalPanel('panelLogin');return false;}else{alert('Ce pseudo n existe pas ou le mot de passe est incorrect');}" >
    				<h:outputText value="Se logguer"></h:outputText>
    				</a4j:commandLink>
    			</h:panelGrid>	
    			</h:form>
    		</rich:modalPanel>
    Puis le code du dropDown à rerendering:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <a4j:outputPanel id="dropDown" >
    			<rich:panel>
    			<rich:dropDownMenu binding="#{utilisateurBean.menuUtilisateur}"></rich:dropDownMenu></rich:panel>
    			</a4j:outputPanel>
    Mon utilisateur est pourtant bien loggué (idutilisateur est différent de 0), mais la magie du rafraichissement ne s'opére pas...

    Je vous remercies d'avance pour vos lumiéres, tcharl

  2. #2
    Membre averti
    Homme Profil pro
    Expert MDE
    Inscrit en
    Janvier 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Expert MDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 183
    Points : 337
    Points
    337
    Par défaut
    j'ai un peu remodelé la chose en enlevant la generation du dropdown du getter, je l'ai mis sur clic de log pour les infos perso et lors de la construction du bean pour la partie loggin(c'est un peu plus propre), mais ça ne change rien au résultat.

    Woah, j'ai trouvé^^^^
    En fait, il n'aime pas quand je recrée l'objet (new HtmlDropDownMenu()); alors du coup, j'ai fait menuUtilisateur.getChildren().clear

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

Discussions similaires

  1. [WebForms]Communication entre popup et page principale
    Par ben_popcorn dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 05/12/2006, 10h33
  2. Balancer un lien d'une fenêtre popup vers la page principale
    Par griese dans le forum Général JavaScript
    Réponses: 52
    Dernier message: 15/06/2006, 10h30
  3. Réponses: 5
    Dernier message: 26/04/2006, 14h35
  4. popup + retour page principale
    Par Mr -M- dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/06/2005, 17h26
  5. Pb de redirection vers page principale
    Par croco83 dans le forum ASP
    Réponses: 2
    Dernier message: 06/05/2004, 14h10

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