有什么办法可以在jsf中设置表数据中文本的颜色吗?我希望#{_component.displayName}
具有不同的颜色,具体取决于支持bean方法的返回值。
<h:dataTable styleClass="mytable" value="#{cart.items}" var="_component">
<h:column>
<f:facet name="header"><h3>Item</h3></f:facet>
#{_component.displayName}
</h:column>
</h:dataTable>
谢谢
答案 0 :(得分:3)
如果要在<td>
元素上设置样式类,则必须使用columnClasses
的{{1}}属性:
<h:dataTable>
它接受一个逗号分隔的CSS类名字符串,这些字符串将按顺序应用于各个列。你甚至可以让它引用一个自动填充所需字符串的bean属性:
<h:dataTable columnClasses="col1,col2,col3">
然而,每个样式列将应用于整个列。如果您想独立设置单个单元格,最好将其包装在<h:dataTable columnClasses="#{bean.columnClasses}">
中:
<h:outputText>
或
<h:outputText value="#{_component.displayName}" styleClass="#{_component.styleClass}" />
或
<h:outputText value="#{_component.displayName}" styleClass="#{bean.styleClass}" />
或者,如果单元格覆盖多个组件,请将其包裹在<h:outputText value="#{_component.displayName}" styleClass="#{bean.styleClass(component)}" />
内,并在其上设置<h:panelGroup>
。