我正在寻找如何根据用户登录启用和禁用icefaces组件? 例如:
如果以管理员身份登录我需要启用更多组件并以用户身份登录,禁用一些组件以及在一个页面中添加一些其他组件?如何在jsf / icefaces中执行此功能?
这两个在一个页面中启用和禁用。
我提出你的建议。
答案 0 :(得分:12)
使用rendered
属性。它接受一个布尔表达式。向[{1}}实体添加方法,例如User
或isAdmin()
,并让getRole()
属性拦截。
rendered
对于你感兴趣的案例,这里有一些例子,你可以在EL中使用布尔表达式。
与JSP兼容的语法:
<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>
与<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'}" />
和>
等&
EL运算符相关的Facelets兼容语法已更改:
<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'}" />
答案 1 :(得分:1)
在ICEfaces中,已禁用属性的控件使用:
<ice:inputText disabled="[true/false]"/>
示例强>
我在我的代码中使用了这个:
<ice:inputText disabled="#{ABMUsuario.accion!='3'}"/>