2012-07-26 95 views
0

我有一个jsf 1.2/rich faces 3.2.2项目(用java 6)。我想有条件地显示菜单栏根据类型的用户登录从问题How to conditionally include a file in my template using JSF and Facelets?我尝试以下: -在<jsp:include>中使用EL标签

... 
<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" /> 
... 

其中authenticateBean.menuSuffix是一个字符串,将返回“A”或“B”和最终,理论上“MenuA.jsp”或“MenuB.jsp”页面应该包含在我的页面中。但我得到以下错误

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

帮助。 PLZ。

回答

0

继承人如何管理它。配售作为一个答案,如果NE一个需要...

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

在getPanSuffix()我已经把它检查的用户类型登录,并相应地返回一个字符串的业务逻辑。用于“A”型用户。 MenuA.jsp将显示,并且对于类型“B”用户MenuB.jsp将显示。可能是一种原始的做事方式,但为我工作。 谢谢大家。