我想知道是否有一个库可以使我执行以下操作:

<h:outputText value="blablabla">
    <x:styleClass value="class1" rendered="#{bean.firstboolean}"/>
    <x:styleClass value="class2" rendered="#{bean.secondboolean}"/>
</h:outputText>


因此,根据表达式在运行时是否返回true来启用类。

最佳答案

您可以通过bean轻松地做到这一点。在您的xhtml中,使用类似:

<h:outputText value="blablabla" styleClass="#{bean.styleClass}"/>


在你的豆子里:

public String getStyleClass(){
   return firstboolean ? "class1" : "class2";
}




更新:如果您不希望此逻辑出现在bean中,则可以在xhtml中包含该逻辑:

<h:outputText value="blablabla"
              styleClass="#{bean.firstboolean ? 'class1' : 'class2'}"/>


最好写一个custom EL function来创建可重用的逻辑,结果是:

<h:outputText value="blablabla"
              styleClass="#{mylib:styleForObject(object)}"/>

07-24 21:57