1

我有一个 jsf 1.2 / rich faces 3.2.2 项目(使用 java 6)。我想根据登录用户的类型有条件地显示菜单栏。来自问题如何使用 JSF 和 Facelets 有条件地在我的模板中包含文件?我尝试了以下方法:-

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

帮助。请。

4

1 回答 1

0

下面是我如何管理它。如果没有人需要,可以将其作为答案……</p>

<%
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 将显示。可能是一种原始的做事方式,但对我有用。谢谢大家。

于 2012-07-27T18:07:59.523 回答