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

江枫思渺然 提交于 2019-12-21 05:41:31

问题


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.


回答1:


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



回答2:


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


来源:https://stackoverflow.com/questions/3466289/how-to-enable-disable-components-in-jsf-icefaces

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!