我正在寻找如何根据用户登录启用和禁用icefaces组件?例如:
如果以管理员身份登录我需要启用更多组件并以用户身份登录,请禁用某些组件以及在一个页面中添加其他组件?如何在jsf/icefaces中执行此功能?
这两个在一个页面中启用和禁用.
我提出你的建议.
Bal*_*usC 12
使用该rendered属性.它接受一个布尔表达式.向User实体添加一个方法,isAdmin()或者getRole()让rendered属性拦截它.
<h:someComponent rendered="#{user.admin}">
Will be displayed when user.isAdmin() returns true.
</h:someComponent>
<h:someComponent rendered="#{user.role != 'ADMIN'}">
Will be displayed when user.getRole() (String or enum) does not equal ADMIN.
</h:someComponent>
Run Code Online (Sandbox Code Playgroud)
对于你感兴趣的情况,这里有一些更多的例子,你可以在EL中使用布尔表达式.
JSP兼容语法:
<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.enumValue == 'ONE' || bean.enumValue == 'TWO'}" />
Run Code Online (Sandbox Code Playgroud)
Facelets兼容的语法与一些XML敏感的 EL运算符喜欢>和&改变:
<h:someComponent rendered="#{bean.booleanValue}" />
<h:someComponent rendered="#{bean.intValue gt 10}" />
<h:someComponent rendered="#{bean.objectValue eq null}" />
<h:someComponent rendered="#{bean.stringValue ne 'someValue'}" />
<h:someComponent rendered="#{not empty bean.collectionValue}" />
<h:someComponent rendered="#{not bean.booleanValue and bean.intValue ne 0}" />
<h:someComponent rendered="#{bean.enumValue eq 'ONE' or bean.enumValue eq 'TWO'}" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13311 次 |
| 最近记录: |