【发布时间】:2012-02-06 21:47:54
【问题描述】:
我是 jsf 的新手,我无法解决这个问题。 我在 Rich:dataTable 中有一个 OutputText。我想根据它的值改变这个 OutputText 的颜色(这些值是整数)。例如,如果值 >= 50,则颜色为红色,否则颜色为白色。 提前致谢。
【问题讨论】:
我是 jsf 的新手,我无法解决这个问题。 我在 Rich:dataTable 中有一个 OutputText。我想根据它的值改变这个 OutputText 的颜色(这些值是整数)。例如,如果值 >= 50,则颜色为红色,否则颜色为白色。 提前致谢。
【问题讨论】:
用css很容易做到,例如:
...
<h:outputText styleClass="#{row.value gt 50 ? 'red' : 'white'}" value="#{row.value}"/>
...
其中红色和白色类是通过样式属性相应或直接定义的:
...
<h:outputText style="color : #{row.value gt 50 ? 'red' : 'white'};" value="#{row.value}"/>
...
在 Java 中计算颜色/类时甚至更简单的标记:
...
<h:outputText styleClass="#{row.volumeTag}" value="#{row.value}"/>
...
...
<h:outputText styleClass="#{my:categorize(row.value)}" value="#{row.value}"/>
...
【讨论】:
styleClass="#{my:getCategory(row.value)}" 或 styleClass="#{categorizer.evaluate(row.value)}"