0

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> 問題なく動作し、新しいページが表示されます

4

1 に答える 1

0

でラップする<ui:insert...と、更新する要素のリストに追加<h:panelGroup id="myPanel"...されますか? のように.... ?<p:commandButtonmyPanel id<p:commandButton update="growl, myPanel"

id を持つフォームが囲んでいる<ui:insert場合は、次のようにする必要があります<p:commandButton update="growl, form1Id:myPanel

?

于 2012-04-13T17:04:38.383 に答える