rich:popupPanel表单记住旧值

时间:2014-10-10 05:35:01

标签: jsf richfaces

我有一个由基于会话的辅助bean提供支持的JSF页面。该页面还包含一个rich:popupPanel模式窗口,其中包含一个带有几个级联元素和几个文本框的表单。我第一次在表单中输入值并按下取消按钮时,弹出窗口消失。但是,当我单击再次显示弹出窗口的commandButton时,下拉菜单和输入文本框会显示先前输入的值,即使我重置了辅助bean中的基础属性。就好像JSF UI元素一样。正在缓存state,因为出于调试目的,我在弹出窗口的底部打印底层属性值,这些值为null(或为空)。

为什么会发生这种情况,并且有一种有效的方法来重置表单UI元素'状态?

1 个答案:

答案 0 :(得分:1)

显示和隐藏只是在可见和不可见状态之间翻转。如果您希望弹出窗口使用当前值,则需要在每次打开弹出窗口时重新渲染弹出窗口。

编辑:示例代码

<a4j:commandButton render="popupPanelId" execute="@this"
    oncomplete="#{rich:component('popupPanelId'}.show()" value="Click me" />