1

我有一个<rich:dataTable>JSF 页面。

<rich:dataTable id="transactionTable" rendered="#{tellerBean.userTransactions.size() > 0}"
    value="#{tellerBean.userTransactions}" var="transaction">

当我按下搜索按钮时,支持列表被填满,我重新渲染表格。但是这不起作用,因为该rendered属性是服务器端的,并且网格从一开始就不会转换为 HTML,因此重新渲染失败。当后备列表大小为 0 时,如何隐藏网格,并在列表大小大于 0 时显示?

4

1 回答 1

1

将其包装在始终呈现并更新它的组件中。

<h:panelGroup id="transactionTableGroup">
    <rich:dataTable ... rendered="#{not empty tellerBean.userTransactions}">

    </rich:dataTable>
</h:panelGroup>

(请注意,我也改进了rendered属性中的 EL 表达式;你的很笨拙,并且在使用 Facelets 而不是旧版 JSP 时只会产生 XML 语法错误)

也可以看看:

于 2012-10-24T14:05:18.490 回答