我在p:dataTable
中有数值。当值小于0时,应插入“-”符号代替值。
我尝试使用c:if
,它不起作用。我正在阅读,有人建议使用rendered
标志。
代码是:
<p:column headerText="Valor">
<h:outputText rendered="${valor.valor > 0}" value="${valor.valor}" />
<h:outputText rendered="${valor.valor <= 0}" value="${valorMB.noDato}" />
</p:column>
和服务器给我这个错误:
如果我使用
c:if
,则该表将显示为无数据:<c:if test="#{valor.valor > 0}">
<h:outputText value="#{valor.valor}" />
<c:otherwise>
<h:outputText value="-" />
</c:otherwise>
</c:if>
我该如何解决我的问题?
最佳答案
使用基于关键字的EL运算符,而不是基于符号的EL运算符:
<h:outputText rendered="#{valor.valor gt 0}" value="#{valor.valor}" /> <!-- valor.valor > 0 -->
<h:outputText rendered="#{valor.valor le 0}" value="-" /> <!-- valor.valor <= 0 -->
lt
(低于)gt
(大于)le
(小于或等于)ge
(大于或等于)eq
(相等)ne
(不相等)and
or
关于jsf - 与[...]关联的属性 "rendered"的值不得包含 '<'字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27574811/