Web ページで使用されているテンプレートにメニューを含めようとしていますが、接続しているユーザーのタイプに応じてメニューが変化します。ああ、私はjsfを使用しています。したがって、最初のページ login.xhtml の page->template->menu ボタンは、ユーザーを Bean に移動します。
<p:commandButton id="logins" value="login" action="#{UtilisateurBean.connection_role}" update="growl"/>
utilisateurBean では、メソッド 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でチェックしましたが、他のページは呼び出していません。
Ps: 置き換える <ui:insert name="#{UtilisateurBean.menu}" ></ui:insert>
と <ui:insert name="menuAuditeur.xhtml" ></ui:insert>
問題なく動作し、新しいページが表示されます