我们的项目基于JSF 2.3和Primefaces 6.2构建。 我们大量使用了Primefaces对话框框架。 打开对话框的典型命令按钮如下所示:
<p:commandButton id="editButton" icon="fa fa-edit" value="Edit" disabled="#{empty interfaceIpDialogBean.selectedAddress}"
actionListener="#{interfaceIpDialogBean.onEditIpAddress}">
<p:ajax event="dialogReturn" listener="#{interfaceIpDialogBean.onEditIpAddressResult}" update="@form"/>
</p:commandButton>
在按钮侦听器onEditIpAddress
中,对Primefaces对话框框架的调用将打开模式对话框。
为了在关闭对话框后从对话框中获得结果,primefaces使用了ajax事件“ dialogReturn”,该事件必须添加到commandButton中。
现在,我们希望以更动态的方式使用此模式。我们不想在每个按钮上注册一个ajax事件,这可能会打开一个对话框。我们创建了一个对话框服务,该服务使用在对话框关闭后将被调用的回调。
但是,在对话框关闭后,我们仍然需要按钮上的其他ajax调用来更新被调用方的ui。
我的问题是:
是否可以在actionListener onEditIpAddress
内的commandButton上注册ajax行为?
还是我们可以以某种方式使用Primefaces javascript库在关闭对话框的ajax调用后触发ajax部分更新?
欢迎每个想法;-)