2012-07-26 1 views
0

J'ai un projet jsf 1.2/visages riches 3.2.2 (avec java 6). je veux afficher la barre de menu conditionnelle en fonction du type d'utilisateur connecté de la question How to conditionally include a file in my template using JSF and Facelets? j'ai essayé ce qui suit: -.Utilisation de EL dans <jsp:include> tag

... 
<td valign="top" align="left" height="100%"> 
</f:verbatim> 
<jsp:include page="../Menu${authenticateBean.menuSuffix}.jsp" /> <f:verbatim></td> 
... 
i also tried 
    <jsp:include page="../Menu#{authenticateBean.menuSuffix}.jsp" /> 
... 

où authenticateBean.menuSuffix est une chaîne qui renverra « A » ou « B » et En fin de compte, théoriquement, la page "MenuA.jsp" ou "MenuB.jsp" devrait inclure dans ma page. mais j'obtiens l'erreur suivante

javax.servlet.ServletException: File &quot;/pages/includes/LeftPan.jsp&quot; not found 

Aide. Plz.

Répondre

0

Voici comment je l'ai géré. Mise en place comme une réponse si on a besoin ... ne

<% 
AuthenticateBean authBean= 
((AuthenticateBean)FacesUtils.getManagedBean(AuthenticateBean.MANAGED_NAME)); 
    String panSuffix = authBean.getPanSuffix(); 
String impPage = "../includes/Menu"+ panSuffix +".jsp"; 
%> 
. 
. 
. 
<jsp:include page="<%= impPage %>" /> 

Dans le getPanSuffix() je l'ai placé la logique métier qui vérifie le type d'utilisateur connecté et retourner une chaîne en conséquence. pour l'utilisateur de type "A". MenuA.jsp s'affichera et pour le type "B", l'utilisateur MenuB.jsp s'affichera. Peut être une façon primitive de faire les choses mais a fonctionné pour moi. Merci à tous.

Questions connexes