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