の各タイプのユーザーにメニューを設定する私の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
を追加すると、新しいページが
Haventはインクルードの代わりにインクルードを気付きました...とにかく、ラッピングパネルグループが表示されるはずです...そのすべてがaameページにあります – Daniel