jsf - 在 Facelets 中有条件地添加 HTML 元素属性

使用 Facelets 并编写一些 XHTML,我不知道如何创建一个元素然后添加属性,就像在 xslt 中,如果您想有条件地添加一个属性:

<xsl:element name="div">
    <xsl:attribute name="style">color:blue;</xsl:attribute>
</xsl:element>

Google给出了一些类似JSP taglib的例子

<jsp:element name="div">
     <jsp:attribute name=".">...</jsp:attribute>
</jsp:element>

该库并未作为 Facelets 中的标准提供,搜索包含的库的文档也没有显示任何明显的内容。

最佳答案

使用 <c:if><f:attribute>在真正的 JSF 组件上。

<h:panelGroup layout="block">
    <c:if test="#{bean.condition}"><f:attribute name="style" value="color:blue;"/></c:if>
</h:panelGroup>

顺便说一句,您真的应该在 CSS 样式表文件中使用完全有值(value)的 CSS 类,而不是紧耦合 style标记中所有位置的属性。

您可以有条件地声明样式类,如下所示:

<h:panelGroup layout="block" styleClass="#{bean.condition ? 'foo' : 'bar'}" />

https://stackoverflow.com/questions/28344162/

相关文章:

html - 如何向 erb 中的字符串添加空格?

angularjs - 使用angularjs突出显示表格行

apache-storm - Storm 用户界面不工作

c# - 生成员工卡

scala - Scala 中 N 的三和

jakarta-ee - 如何进行 payara netbeans 集成

java - try-with-resource资源创建的执行顺序

Python3 - 字符串的最后一个字符

xml - 使用 XSD 验证 XML 中的自定义日期和时间

python - 如何在 Django 中用阿拉伯字符创建 slug?