我使用Primefaces对话框架打开一个Dialog
RequestContext.getCurrentInstance().openDialog("myDialog", options, null);
然后,我想在对话框的close事件后更新基页中的组件。我知道我们可以添加'dialogReturn'ajax事件
<p:ajax event="dialogReturn" update = ":form:colors" />
但是如何使用对话框框架以编程方式执行此操作?
答案 0 :(得分:0)
解决方法:
指定操作以打开按钮的对话框;用javascript调用该按钮的click()方法,并为其指定一个dialogReturn:
public void openDialogWithJS(){
RequestContext.getCurrentInstance().execute("$('#myForm\\\\:myButton').click()");
}
public void showDialog(){
RequestContext.getCurrentInstance().openDialog("myDialog", options, null);
}
<h:form id="myForm">
<p:commandButton id="myButton" actionListener="#{myBean.showDialog}" style="display: none;">
<p:ajax event="dialogReturn" update = "myComponentId"/>
</p:commandButton>
</h:form>