jsf

2012-04-13 5 views
0

の各タイプのユーザーにメニューを設定する私のWebページで使用されているテンプレートにメニューを追加しようとしていますが、ユーザーのタイプに応じてメニューが変更されます。ああ、私はjsfを使用しています。最初のページで のでPAGE->テンプレート - >メニュー ボタンをlogin.xhtml Beanにユーザーをとります。jsf

utilisateurBeanで
<p:commandButton id="logins" value="login" action="#{UtilisateurBean.connection_role}" update="growl"/> 

Methodeののconnection_roleは、次のようになります。

public String connection_role() { 
    Utilisateur authentifi = resp.seConnecter_role(login, password, typeRole); 
    FacesMessage msg; 
    FacesContext myFacesContext; 

    if ("_".equals(authentifi.getLogin())) { 
     msg = new FacesMessage("Compte incorrect", "Login password incorrect"); 
     msg.setSeverity(FacesMessage.SEVERITY_INFO); 

     myFacesContext = FacesContext.getCurrentInstance(); 
     myFacesContext.addMessage(null, msg); 

     return null; 
    } else if (authentifi != null) { 
     Utilisateur user = resp.findById(idutilisateur); 
     HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true); 
     if (typeRole.equals("Administrateur")) { 
      cleanForm(); 
      setMenu("menuAdministrateur.html"); 
      session.setAttribute("user", user); 
      return "listItem.xhtml"; 
     } else if (typeRole.equals("Administrateur Audit")) { 
      cleanForm(); 
      setMenu("menuAdministrateurAudit.html"); 
      session.setAttribute("user", user); 
      return "Administrateur_Audit"; 
     } else if (typeRole.equals("Planificateur")) { 
      cleanForm(); 
      setMenu("menuPlanificateur.html"); 
      session.setAttribute("user", user); 
      return "Planificateur"; 
     } else { 
      cleanForm(); 
      setMenu("menuAuditeur.html"); 
      session.setAttribute("user", user); 
      return "Auditeur"; 
     } 

    } 

    return null; 
} 

ここでログインボタンをクリックするとどこにも行きません。ユーザーは接続されていますが、いくつかのprintlnsでそれをチェクシングしていますが、他のページを呼び出すことはありません。

シモンズ:私は<ui:insert name="menuAuditeur.xhtml" ></ui:insert><ui:insert name="#{UtilisateurBean.menu}" ></ui:insert> を交換する場合、それはうまく動作し、あなたが<h:panelGroup id="myPanel"...<ui:insert...をラップし、あなたの<p:commandButtonに更新する要素のリストにmyPanel idを追加すると、新しいページが

答えて

0

を示して?のように<p:commandButton update="growl, myPanel" ....?

場合はIDを持つフォームでは、<p:commandButton update="growl, form1Id:myPanel

ような何かを行う必要があります<ui:insertを取り囲ん?

+0

と置き換えました。これは私のメニューが誰に接続されているかによって変わりますが、 、データテーブル。私はまだそれを探していますそれはインクルードのためにすることができますか?そしてお返事ありがとうございます:) – nouraty

+0

Haventはインクルードの代わりにインクルードを気付きました...とにかく、ラッピングパネルグループが表示されるはずです...そのすべてがaameページにあります – Daniel