【发布时间】:2015-10-01 11:43:18
【问题描述】:
有人知道如何在 jsf 中使用 RequestScoped bean 和渲染属性吗?渲染的属性在 applyValues 阶段之前被评估,因此没有被正确评估。我不想保留任何状态。该示例可以是带有数据表和按钮的 outputPanel。数据表获取值列表。包装 outputPanel 具有如下渲染属性:
<p:outputPanel rendered="#{not empty requestScopedBean.dataList}">
<p:datatable value="#{requestScopedBean.dataList}">
...
</p:datatable>
<p:commandButton action="#{requestScopedBean.someAction}" />
</p:outputPanel>
加载页面并单击按钮后,什么都没有发生,因为视图已恢复并评估表达式 - bean 确实有一个空的数据列表,因此不应呈现面板。这导致甚至没有调用操作方法 - 因为按钮不存在。
【问题讨论】:
-
这不是第一次必须从您的 [jsf] 问题中删除 [java] 标记。您能否将其视为不再将 [java] 标记添加到未来 [jsf] 问题的提示?谢谢你:)
标签: jsf rendered-attribute requestscope