Jsf rich:popupPanel表单记住旧值
我有一个JSF页面,由基于会话的支持bean提供支持。该页面还包括一个rich:popupPanel模式窗口,其中包含一个带有两个级联元素和两个文本框的表单。当我第一次在表单中输入值并按下取消按钮时,弹出窗口消失。但是,当我再次单击显示弹出窗口的commandButton时,下拉列表和输入文本框会显示以前的输入值,即使我重置了backingbean中的底层属性。这就好像JSF UI元素的状态正在被缓存,因为出于调试目的,我在弹出窗口的底部打印底层属性值,这些值为null(或空)Jsf rich:popupPanel表单记住旧值,jsf,richfaces,Jsf,Richfaces,我有一个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不再有这些值。在这种情况下,您可能需要发布代码示例。并使用
查看来自服务器的响应。在
标记中添加
有助于重置输入值。谢谢你的意见。