【发布时间】:2013-03-17 09:59:33
【问题描述】:
我有一个带有打开 Primafaces overlayPanel 的按钮的表单。
在面板中有另一个按钮,它执行 Ajax 操作,然后关闭覆盖。
这是一个完全没有 Ajax 操作的简化版本:
<h:form>
<p:commandButton id="button1" value="Open overlay" type="button"/>
<p:overlayPanel for="button1" widgetVar="ovl" dynamic="true">
<p:commandButton value="Close" oncomplete="ovl.hide();"
update="@form"/>
</p:overlayPanel>
</h:form>
请注意,面板必须有dynamic="true",因为在实际应用程序中必须获取动态内容,并且需要update="@form"才能更新其他表单组件。
问题是:如果我同时拥有dynamic="true" 和update="@form" 两个属性,则覆盖仅在第一次出现。单击“关闭”按钮后,如果我再次尝试单击“打开覆盖”,面板将不会显示。
我做错了什么?
(使用 PrimeFaces 3.5 和 GlassFish 3.1.2.2)
【问题讨论】:
标签: jsf-2 primefaces