primefaces对话框框架:关闭对话框;onclick";

primefaces对话框框架:关闭对话框;onclick";,primefaces,dialog,jsf-2.2,Primefaces,Dialog,Jsf 2.2,我使用对话框框架显示Primefaces对话框,如下所示: RequestContext.getCurrentInstance().openDialog("myDialog", options, params); 在myDialog.xhtml页面中,我有一条消息和两个按钮:YES或NO。 我想用事件“onclick”关闭Pf对话框,有没有办法做到这一点 我无法使用p:dialog静态定义对话框,然后使用PF('widgetVarName').hide()关闭它通常,您可能需要以下内容: &l

我使用对话框框架显示Primefaces对话框,如下所示:

RequestContext.getCurrentInstance().openDialog("myDialog", options, params);
在myDialog.xhtml页面中,我有一条消息和两个按钮:YES或NO。 我想用事件“onclick”关闭Pf对话框,有没有办法做到这一点


我无法使用p:dialog静态定义对话框,然后使用
PF('widgetVarName').hide()关闭它

通常,您可能需要以下内容:

<p:commandButton action="#{someBean.closeDialog('yes')}" process="@form" update="@form"
    icon="#{icons.yes}" value="#{bundle.yes}" />

<p:commandButton action="#{someBean.closeDialog('no')}" process="@form" update="@form"
    icon="#{icons.no}" value="#{bundle.no}" />


public void closeDialog(String choice)
{
    RequestContext requestContext = RequestContext.getCurrentInstance();

    Object someData = executeChoice(choice);

    requestContext.closeDialog(someData);
}
最后,如果您需要纯javascript解决方案,您可能需要:

<p:commandButton type="button" 
    onclick="PrimeFaces.closeDialog({pfdlgcid:'#{param.pfdlgcid}'})" 
    icon="#{icons.close}" value="#{bundle.close}" />

<p:commandButton type="button" 
    onclick="PrimeFaces.closeDialog({pfdlgcid:'#{param.pfdlgcid}'})" 
    icon="#{icons.close}" value="#{bundle.close}" />