我正在使用Icefaces 3.2。我想知道如何从backing bean方法重置组件的styleClass属性,例如textarea。
USECASE:我有一个ace:textAreaEntry
,它在辅助bean中有一个验证器方法。在这个支持bean中,我正在做一些验证。如果验证失败,我想要一个特定的CSS类应用于组件。所以我想重置styleclass属性的值。
答案 0 :(得分:2)
您可以有条件地设置styleClass
,就像这样
<ace:textAreaEntry
styleClass="#{facesContext.validationFailed?'failedClass':'validClass'}"/>
或仅指定失败类,否则不指定任何类
<ace:textAreaEntry
styleClass="#{facesContext.validationFailed?'failedClass':''}"/>
如果您手动设置要在页面中显示的消息,则可以检查facesContext.messageList
是否为空,如此
<ace:textAreaEntry
styleClass="#{(not empty facesContext.messageList)?'filedClass':'validClass'}"/>
如果要测试某些特定的内部逻辑验证,可以检查一些布尔值,例如
<ace:textAreaEntry
styleClass="#{(myBean.someComponentFailed)?'filedClass':'validClass'}"/>
其中someComponentFailed
是一些在验证失败时设置为true / false的属性