2013-01-20 40 views
0

我正在使用Icefaces 3.2。我想知道如何从backing bean方法重置组件的styleClass属性,例如textarea。如何从bean中设置JSF组件的styleclass属性?

USECASE:我有一个ace:textAreaEntry,它在后台bean中有一个验证器方法。在这个支持bean中,我正在做一些验证。如果验证失败,我想要一个特定的CSS类应用到组件。所以我想重置styleclass属性的值。

回答

2

您可以在所有

<ace:textAreaEntry 
    styleClass="#{facesContext.validationFailed?'failedClass':''}"/> 

设置styleClass有条件,这样

<ace:textAreaEntry 
    styleClass="#{facesContext.validationFailed?'failedClass':'validClass'}"/> 

或仅分配失败等级和否则没有阶级如果手动设置信息将显示在您的网页时可以检查facesContext.messageList是否为空,像这样

<ace:textAreaEntry 
    styleClass="#{(not empty facesContext.messageList)?'filedClass':'validClass'}"/> 

如果你想测试的一些具体的内部逻辑验证您可以检查一些布尔例如

<ace:textAreaEntry 
    styleClass="#{(myBean.someComponentFailed)?'filedClass':'validClass'}"/> 

其中someComponentFailed的是,你在验证失败设置为真/假

+0

感谢某些属性答复,但如果采用这种方法,即使验证由于其他组件而失败,我的stytareaentry入口也会改变。我想检查特定组件的验证失败。 – ZEE

+0

更新了我的答案... – Daniel