IF语句在Primefaces DataTable中不起作用

时间:2014-05-17 16:55:45

标签: jsf primefaces

我想只在我有数据时显示一行。我的代码是:

<p:dataTable id="comments" var="comment"
        value="#{agencyBean.getCommentByAgency(agencyBean.tAgency)}"
        paginator="true" >

        <p:column>  
            #{comment.author.name}  
        </p:column>

        <p:column>
            <c:if test="${not empty comment.positiveComment}">
                <p:row>
                    <p:column>
                        <p:graphicImage library="images" name="positive.png" />
                    </p:column>
                    <p:column>  #{comment.positiveComment}  </p:column>
                </p:row>
                <br />
            </c:if>
        </p:column>
    </p:dataTable>

但是我有数据,行没有显示。我该如何实现这个逻辑?谢谢!

1 个答案:

答案 0 :(得分:3)

尝试使用<p:row>属性将条件表达式放在rendered标记本身中:

<p:column>
    <p:row rendered="#{not empty comment.positiveComment}">
        <p:column>
            <p:graphicImage library="images" name="positive.png" />
        </p:column>
        <p:column>  #{comment.positiveComment}  </p:column>
    </p:row>
    <br />
</p:column>