在rich:dataTable中更改OutputText颜色

arg*_*gon 1 datatable jsf richfaces

我是jsf的新手,我无法解决这个问题.我在rich:dataTable中有一个OutputText.我想根据其值更改此OutputText的颜色(这些值是整数).例如,如果值> = 50,则颜色为红色,否则颜色为白色.提前致谢.

mre*_*isz 5

用css很容易完成,例如:

...
<h:outputText styleClass="#{row.value gt 50 ? 'red' : 'white'}" value="#{row.value}"/>
...
Run Code Online (Sandbox Code Playgroud)

其中红色和白色类相应地定义或直接使用样式属性定义:

...
<h:outputText style="color : #{row.value gt 50 ? 'red' : 'white'};" value="#{row.value}"/>
...
Run Code Online (Sandbox Code Playgroud)

在Java中计算颜色/类时,甚至更简单的标记:

...
<h:outputText styleClass="#{row.volumeTag}" value="#{row.value}"/>
...
Run Code Online (Sandbox Code Playgroud)

或者在自定义EL功能中:

...
<h:outputText styleClass="#{my:categorize(row.value)}" value="#{row.value}"/>
...
Run Code Online (Sandbox Code Playgroud)