I have numeric values in a p:dataTable. When the value is less than 0, a "-" symbol should be inserted instead of a value. 
I tried using c:if, which doesn't work. I was reading and people suggest the rendered flag.
The code is:
<p:column headerText="Valor">
    <h:outputText rendered="${valor.valor > 0}" value="${valor.valor}" />
    <h:outputText rendered="${valor.valor <= 0}" value="${valorMB.noDato}" />
</p:column>
and the server give me this error:
The value of attribute "rendered" associated with an element type "h:outputText" must not contain the '<' character
If I use c:if the table appears without data:  
<c:if test="#{valor.valor > 0}">
    <h:outputText value="#{valor.valor}" />
    <c:otherwise>
        <h:outputText value="-" />
    </c:otherwise>
</c:if>  
How can I resolve my problem?
                        
Use keyword based EL operators instead of symbol based EL operators:
lt(lower than)gt(greater than)le(lower than or equal)ge(greater than or equal)eq(equal)ne(not equal)andor