开发者

How to enable/disable components in jsf/icefaces? [duplicate]

This question already has answers here: 开发者_JS百科 Conditionally displaying JSF components (3 answers) Closed 6 years ago.

I am looking for how to enable and disable the icefaces components based on the user login ? For example:

if login as admin i need to enable the come more components and login as user, disable some components as well as add some other components in one page ? How to do this function in jsf/icefaces ?

These two enable and disable in one page .

I appericate your suggestions.


Use the rendered attribute. It accepts a boolean expression. Add a method to the User entity like isAdmin() or getRole() and let the rendered attribute intercept on that.

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

For the case you're interested, here are some more examples how you could use boolean expressions in EL.

JSP-compatible syntax:

<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'}" />

Facelets-compatible syntax with some XML-sensitive EL operators like > and & changed:

<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'}" />


In ICEfaces for controls that has disabled property use:

<ice:inputText disabled="[true/false]"/>

Example

I used this in my code:

<ice:inputText disabled="#{ABMUsuario.accion!='3'}"/>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜