Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 如何从bean显示p:confirmDialog?_Jsf_Primefaces_Confirm Dialog - Fatal编程技术网

Jsf 如何从bean显示p:confirmDialog?

Jsf 如何从bean显示p:confirmDialog?,jsf,primefaces,confirm-dialog,Jsf,Primefaces,Confirm Dialog,我从primefaces得到了这个结果,但我不想使用按钮并从bean调用确认对话框,我怎样才能做到这一点,或者渲染commandbutton并从bean执行呢 问题是我使用commandbutton来执行一个方法,这个方法中有一个if,如果为true,那么我想显示一个确认对话框。 您可以执行以下操作 <p:commandButton value="Destroy the World" onclick="PF('confirmDialogwidget').show();"> &l

我从primefaces得到了这个结果,但我不想使用按钮并从bean调用确认对话框,我怎样才能做到这一点,或者渲染commandbutton并从bean执行呢

问题是我使用commandbutton来执行一个方法,这个方法中有一个if,如果为true,那么我想显示一个确认对话框。


您可以执行以下操作

 <p:commandButton value="Destroy the World" onclick="PF('confirmDialogwidget').show();">
 </p:commandButton>



<p:confirmDialog global="true" showEffect="fade" hideEffect="fade" header="Are you sure?"
                     widgetVar="confirmDialogwidget">
    <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
    <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" 
                     onclick="PF('confirmDialogwidget').hide();" />
</p:confirmDialog>

RequestContext类型中的execute(String)方法已被弃用,是否应使用PrimeFaces current=PrimeFaces.current();current.executeScript(“PF('confirmDialogwidget').show();”;你使用什么版本的primefaces?我在该版本中使用的6.1并没有被弃用。
PrimeFaces current=PrimeFaces.current();current.executeScript(“PF('confirmDialogwidget').show();”解决您的问题?但是您需要能够从bean调用confirmDialog?是的,我进行existById查询,如果是真的,我想询问用户是否希望在数据库中进行更新confirm对话框用于直接客户端使用。如果希望服务器端启动“确认”,则使用普通对话框。只需在单击第一个按钮时不提交任何内容,在从服务器打开的正常对话框中单击按钮时提交即可。不知道有什么好处。。。
 <p:commandButton value="Destroy the World" onclick="PF('confirmDialogwidget').show();">
 </p:commandButton>



<p:confirmDialog global="true" showEffect="fade" hideEffect="fade" header="Are you sure?"
                     widgetVar="confirmDialogwidget">
    <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
    <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" 
                     onclick="PF('confirmDialogwidget').hide();" />
</p:confirmDialog>
<p:commandButton value="Destroy the World" actionListener="#{dialogView.destroyWorld}">
</p:commandButton>


<p:confirmDialog global="true" showEffect="fade" hideEffect="fade" header="Are you sure?"
                 widgetVar="confirmDialogwidget">
    <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
    <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" 
                     onclick="PF('confirmDialogwidget').hide();"/>
</p:confirmDialog>
 public void destroyWorld(){
    RequestContext.getCurrentInstance().execute("PF('confirmDialogwidget').show();")
}