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的函数检查数据,如果函数返回false,则打开一个对话框来决定如何继续_Jsf_Primefaces_Dialog_Managed Bean - Fatal编程技术网

Jsf 通过bean的函数检查数据,如果函数返回false,则打开一个对话框来决定如何继续

Jsf 通过bean的函数检查数据,如果函数返回false,则打开一个对话框来决定如何继续,jsf,primefaces,dialog,managed-bean,Jsf,Primefaces,Dialog,Managed Bean,该页面有一个数据输入表单。单击命令按钮,将数据输入数据库 我需要定义一种通过bean函数控制数据的方法,如果该数据已经存在于数据库中(例如:控制该数据的bean函数返回false),则打开一个对话框来选择是覆盖数据还是取消操作(覆盖应始终通过bean方法执行) 我该怎么办?我使用JSF和Primefaces 编辑: 我尝试了RequestContext,但对话框没有出现。对话框如下所示: <p:commandButton id="tasto" value="Insert"

该页面有一个数据输入表单。单击命令按钮,将数据输入数据库

我需要定义一种通过bean函数控制数据的方法,如果该数据已经存在于数据库中(例如:控制该数据的bean函数返回false),则打开一个对话框来选择是覆盖数据还是取消操作(覆盖应始终通过bean方法执行)

我该怎么办?我使用JSF和Primefaces

编辑:

我尝试了RequestContext,但对话框没有出现。对话框如下所示:

<p:commandButton id="tasto" value="Insert"
                action="#{bean.prova()}" update="BankGrid errorbank" ajax="false" />
            <p:dialog id="dialog" header="Title" widgetVar="dlg" resizable="false">
                <h:panelGrid>
                    <h:outputLabel value="Wanna do?" />
                    <p:commandButton id="button" value="YES"
                        action="#{bean.insertExist()}" ajax="false" />
                    <p:commandButton value="NO"
                        action="back.xhtml?faces-redirect=true" />"
                 </h:panelGrid>
            </p:dialog>

怎么了?

取决于您提交表单的方式

如果您是通过ajax提交表单,请使用在完成ajax提交时以编程方式执行脚本:

因此,如果

<p:dialog ... widgetVar="fooDialog">
或者,如果您同步提交表单(即出于某种原因使用
ajax=“false”
),则使用
visible
属性:

<p:dialog ... visible="#{bean.someCondition}">

取决于您提交表单的方式

如果您是通过ajax提交表单,请使用在完成ajax提交时以编程方式执行脚本:

因此,如果

<p:dialog ... widgetVar="fooDialog">
或者,如果您同步提交表单(即出于某种原因使用
ajax=“false”
),则使用
visible
属性:

<p:dialog ... visible="#{bean.someCondition}">

取决于您提交表单的方式

如果您是通过ajax提交表单,请使用在完成ajax提交时以编程方式执行脚本:

因此,如果

<p:dialog ... widgetVar="fooDialog">
或者,如果您同步提交表单(即出于某种原因使用
ajax=“false”
),则使用
visible
属性:

<p:dialog ... visible="#{bean.someCondition}">

取决于您提交表单的方式

如果您是通过ajax提交表单,请使用在完成ajax提交时以编程方式执行脚本:

因此,如果

<p:dialog ... widgetVar="fooDialog">
或者,如果您同步提交表单(即出于某种原因使用
ajax=“false”
),则使用
visible
属性:

<p:dialog ... visible="#{bean.someCondition}">



为此,我需要创建一个导航器?(或者创建faces config.xml)?我试过了,但它不起作用,正如上面所说的,它只在非ajax请求@balusc中起作用:你能在答案中添加这个吗。我试图提出一个小的编辑,但它仍然说答案改为much@balusc:Dank…BillB:请接受这个答案,这样对于其他搜索类似内容的人,很明显有一个有效且正确的答案要做到这一点,我需要创建一个导航器?(或者创建faces config.xml)?我试过了,但它不起作用,正如上面所说的,它只在非ajax请求@balusc中起作用:你能在答案中添加这个吗。我试图提出一个小的编辑,但它仍然说答案改为much@balusc:Dank…BillB:请接受这个答案,这样对于其他搜索类似内容的人,很明显有一个有效且正确的答案要做到这一点,我需要创建一个导航器?(或者创建faces config.xml)?我试过了,但它不起作用,正如上面所说的,它只在非ajax请求@balusc中起作用:你能在答案中添加这个吗。我试图提出一个小的编辑,但它仍然说答案改为much@balusc:Dank…BillB:请接受这个答案,这样对于其他搜索类似内容的人,很明显有一个有效且正确的答案要做到这一点,我需要创建一个导航器?(或者创建faces config.xml)?我试过了,但它不起作用,正如上面所说的,它只在非ajax请求@balusc中起作用:你能在答案中添加这个吗。我试图提出一个小的编辑,但它仍然说答案改为much@balusc:Dank…BillB:请接受这个答案,这样对于其他对类似事情感兴趣的人来说,很明显有一个有效且正确的答案是什么您没有使用ajax,并且希望在完全刷新页面后显示一个对话框。这仅在使用ajax时有效(正如您可以在pf showcase中看到的ij,因为这样的示例是(afaik)在ajax示例组中。切换到使用ajax,它就可以工作了,而不带ajax的标志。谢谢你,以后,请立即发布一篇文章,特别是如果你做的事情与默认设置不同的话。怎么了?:你没有使用ajax,希望在页面完全刷新后显示一个对话框。这只在使用aj时有效ax(如您所见,ij是pf showcase,因为这样的示例是(afaik)在ajax示例组中。切换到使用ajax,它就可以工作了,而不带ajax的标志。谢谢你,以后,请立即发布一篇文章,特别是如果你做的事情与默认设置不同的话。怎么了?:你没有使用ajax,希望在页面完全刷新后显示一个对话框。这只在使用aj时有效ax(如您所见,ij是pf showcase,因为这样的示例是(afaik)在ajax示例组中。切换到使用ajax,它就可以工作了,而不带ajax的标志。谢谢你,以后,请立即发布一篇文章,特别是如果你做的事情与默认设置不同的话。怎么了?:你没有使用ajax,希望在页面完全刷新后显示一个对话框。这只在使用aj时有效ax(正如您可以看到的那样,ij是pf showcase,因为这样的示例在ajax示例组中是(afaik)。因此,切换到使用ajax,它就可以工作了,而不需要使用ajax标志。谢谢您以后,请立即发布一篇文章,特别是如果您所做的事情与默认情况不同的话。