【发布时间】:2012-04-25 14:35:32
【问题描述】:
我正在使用 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::BackingBeanAconstructor 中加载和使用的一些值。发生的情况是父页面 A 在子页面 B 调用其BackingBeanB::actionOk() 之前构造。需要更新的组件fileTreeID在页面A中,并且依赖于页面A构造函数中计算的值,因此它使用旧值更新,而不是使用BackingBeanB::actionOk()中要计算的新值。
【问题讨论】:
-
这不是真的。要么你误解了问题,要么原因在其他地方。
-
@BalusC:我已经编辑了问题,请检查现在是否更清楚?
标签: ajax jsf primefaces actionlistener