jsf

2012-04-13 5 views
0

으로 각 유형의 사용자를위한 메뉴 만들기 내 웹 페이지에서 사용되는 템플릿에 메뉴를 포함하려고 할 때 사용자 유형에 따라 메뉴가 변경된다는 것입니다. 오, 나는 jsf를 사용하고있다. 그래서 페이지 -> 템플레이트> 버튼이 빈에 사용자 소요 login.xhtml 첫 페이지에서 메뉴 다음 utilisateurBean에jsf

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

메도의 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; 
} 

내 템플릿에 넣어 :

로그인 버튼을 클릭하면 아무데도 갈 수없는 사용자가 연결되어 있습니다. 일부 인쇄물은 있지만 다른 페이지는 호출하지 않습니다.

시 : 업데이트 할 요소의 목록에 myPanel id를 추가 <h:panelGroup id="myPanel"...로하고 <p:commandButton<ui:insert...을 포장하면 내가 <ui:insert name="menuAuditeur.xhtml" ></ui:insert> 이 잘 작동하고 새 페이지가

답변

0

을 보여줍니다으로 <ui:insert name="#{UtilisateurBean.menu}" ></ui:insert> 을 대체하는 경우? 마찬가지로 <p:commandButton update="growl, myPanel" ....?

경우 ID와 형태는 <ui:insert<p:commandButton update="growl, form1Id:myPanel

같은 것을해야 둘러싸고?

+0

을 대체했으며 현재 연결된 메뉴에 따라 내 메뉴가 바뀌지 만 페이지의 내용이 마음에 들지 않는 것으로 나타났습니다. , datatables. 나는 그것을 포함하고 있기 때문에 아직도 그것을 조사하고있다 ??? 응답 해 주셔서 감사합니다 :) – nouraty

+0

Havent는 include 대신 include를 발견했습니다 ... 어쨌든 wrapping 패널 그룹을보아야합니다 ... 모두 aame 페이지에서 끝납니다. – Daniel