我正在使用 PrimeFaces<p:dialog>
启动弹出 html 页面并<p:commandButton>
关闭它:
这是按下确定按钮时我所做的:
<p:commandButton id="submitButton"
value="OK"
actionListener="#{MultiFileSelectMgmtBean.actionOk}"
update=":formID:fileTreeID"
oncomplete="dlg1.hide();"/>
问题是fileTreeID
在动作监听器完成之前更新。我如何强制actionOk()
先被调用,然后再fileTreeID
被更新?
编辑:
问题是弹出页面 B ( BackingBeanB
) 需要计算并保存父页面 A 在其BackingBeanA::BackingBeanA
构造函数中加载和使用的一些值。发生的情况是父页面 A 是在子页面 B 调用它之前BackingBeanB::actionOk()
构建的。需要更新的组件fileTreeID
在页面 A 中,并且依赖于页面 A 构造函数中计算的值,因此它使用旧值进行更新,而不是使用要计算的新值进行更新BackingBeanB::actionOk()
。