JSF模板初学者的问题

时间:2010-03-16 10:26:51

标签: jsf

我属于Asp.Net,但刚开始学习JSF。我想知道MasterPage的所有功能是否都可以在JSF模板中使用?我的意思是假设我在模板中有一个菜单,并根据角色菜单的变化。如果管理员登录,他将显示更多选项,如果普通用户登录,他将看到更少的选项。现在我有一个托管bean用于我的“真实”页面(不是模板)。如何使用此托管bean在模板中打开和关闭我的控件?

2 个答案:

答案 0 :(得分:3)

您可以像在ASP MasterPages中那样在JSF / Facelets中完成所有操作。您可以使用任何JSF组件的rendered属性来切换是否需要在视图中呈现组件。它接受一个布尔表达式,它将导致组件(及其所有子组件)在true时显示,否则在false时完全隐藏。以下是几个例子:

<h:someComponent rendered="#{bean.booleanValue}" />
<h:someComponent rendered="#{bean.intValue > 10}" />
<h:someComponent rendered="#{bean.objectValue == null}" />
<h:someComponent rendered="#{bean.stringValue != 'someValue'}" />
<h:someComponent rendered="#{!empty bean.collectionValue}" />
<h:someComponent rendered="#{!bean.booleanValue && bean.intValue != 0}" />
<h:someComponent rendered="#{bean.stringValue == 'oneValue' || bean.stringValue == 'anotherValue'}" />

要了解有关JSF / Facelets的更多信息,我建议您在Java EE 6 tutorial part II chapters 4-9Marty Hall's Coreservlets.com tutorials中阅读Sun自己的JSF教程。

答案 1 :(得分:0)

这是一个关于JSF模板的好教程:

JSF 2 Tutorials - Templating

要自定义不同的用户角色,只需使用呈现属性。