【问题标题】:How to set the styleclass attribute of a JSF component from bean?如何从bean设置JSF组件的styleclass属性?
【发布时间】:2013-01-20 06:42:27
【问题描述】:

我正在使用 Icefaces 3.2。我想知道如何从支持 bean 方法重置组件的 styleClass 属性,例如 textarea。

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

【问题讨论】:

    标签: jsf-2 icefaces-3


    【解决方案1】:

    你可以有条件地设置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 的某个属性

    【讨论】:

    • 感谢您的回复,但是如果使用这种方法,即使验证因其他组件而失败,我的 textareaentry 样式类也会更改。我只想检查特定组件的验证失败。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 2011-06-03
    • 2014-11-03
    • 2012-08-04
    • 1970-01-01
    相关资源
    最近更新 更多