在JSF中使用long渲染条件

时间:2014-04-28 19:04:41

标签: jsf

我有这个非常简单的列,如果值低于15,则需要变为红色。

rendered="#{resultClub.noSeries lt 15 }"

但是noSeries是一个Long / long,总是返回0或null来进行比较。有办法解决这个问题吗?

<p:column id="hcp80200" sortBy="#{resClub.hcp80200}">
                    <f:facet name="header">Hcp 80% - 200</f:facet>
                    <h:outputText rendered="#{resultClub.noSeries gt 14 }" value="#{resClub.hcp80200}" />
                    <h:outputText rendered="#{resultClub.noSeries lt 15 }" value="#{resClub.hcp80200}" style="background-color: red;"/>

                </p:column>     

2 个答案:

答案 0 :(得分:0)

&amp;&amp;因为解析失败而无法工作。您可以使用“和”代替。

比较时不能使用&lt;。但是“低于”和“gt”的“lt”将正常工作。

<h:outputText rendered="#{(resClub.noSeries == null) || (resClub.noSeries gt 14) }" value="#{resClub.hcp80200}" />
<h:outputText rendered="#{ (resClub.noSeries != null) and (resClub.noSeries lt 15) }" value="#{resClub.hcp80200}" style="background-color: red;"/>

答案 1 :(得分:0)

无论是否显示组件,都使用

Rendered。要有条件地设置JSF组件的样式,必须使用css类。假设您想要设置outputText组件的样式。然后你这样做,其中style1和style2是css类。

 <h:outputText styleClass="#{not empty resultClub.noSeries and resultClub.noSeries < 15  ? 'style1' : 'style2'}"/>. 

因此,当条件为真时,style1将使用style2