我有一个 p:commandLink
,在单击它时会启动一个对话框。此外,还有一个操作,在启动对话框之前必须执行,因为对话框依赖于操作填充的内容。
如何在不使用JavaScript的情况下在启动弹出窗口之前运行操作?
<p:commandLink action="#{service.computePrefetch(_var)}" onclick="dlg.show()"/>
我有一个 p:commandLink
,在单击它时会启动一个对话框。此外,还有一个操作,在启动对话框之前必须执行,因为对话框依赖于操作填充的内容。
如何在不使用JavaScript的情况下在启动弹出窗口之前运行操作?
<p:commandLink action="#{service.computePrefetch(_var)}" onclick="dlg.show()"/>
使用oncomplete属性和ajax更新属性。
<p:commandLink action="#{service.computePrefetch(_var)}" update="dlgId" oncomplete="dlg.show()"/>
执行顺序:
点击事件 -> 动作事件 -> 更新事件 -> 完成事件
BalusC发表了一个详细的顺序 Execution order of events when pressing PrimeFaces p:commandButton