0

我正在尝试在我的网页中使用的模板中包含一个菜单,问题是我的菜单会根据连接的用户类型而变化。哦,我正在使用 jsf。所以 page->template->menu 在第一页 login.xhtml 中的一个按钮将用户带到 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

如果将 with 和 in 包装到<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 回答