Primefaces在对话框关闭事件后更新组件

时间:2016-05-05 08:48:05

标签: jsf primefaces dialog ajax-update

我使用Primefaces对话框架打开一个Dialog

RequestContext.getCurrentInstance().openDialog("myDialog", options, null);

然后,我想在对话框的close事件后更新基页中的组件。我知道我们可以添加'dialogReturn'ajax事件

<p:ajax event="dialogReturn" update = ":form:colors"  />

但是如何使用对话框框架以编程方式执行此操作?

1 个答案:

答案 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>