Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf rich:popupPanel表单记住旧值_Jsf_Richfaces - Fatal编程技术网

Jsf rich:popupPanel表单记住旧值

Jsf rich:popupPanel表单记住旧值,jsf,richfaces,Jsf,Richfaces,我有一个JSF页面,由基于会话的支持bean提供支持。该页面还包括一个rich:popupPanel模式窗口,其中包含一个带有两个级联元素和两个文本框的表单。当我第一次在表单中输入值并按下取消按钮时,弹出窗口消失。但是,当我再次单击显示弹出窗口的commandButton时,下拉列表和输入文本框会显示以前的输入值,即使我重置了backingbean中的底层属性。这就好像JSF UI元素的状态正在被缓存,因为出于调试目的,我在弹出窗口的底部打印底层属性值,这些值为null(或空) 为什么会发生这种

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


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

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

编辑:示例代码

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


如何重新渲染?你能发一些示例代码吗?谢谢。@WebUser,您可以使用
render
属性。我添加了一个示例。我已经有了
render
属性,但它以某种方式提取了旧值,即使支持bean不再有这些值。在这种情况下,您可能需要发布代码示例。并使用
查看来自服务器的响应。在
标记中添加
有助于重置输入值。谢谢你的意见。