Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 commandButton不生成请求,但正在工作_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Jsf commandButton不生成请求,但正在工作

Jsf commandButton不生成请求,但正在工作,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我面临着一个奇怪的情况,我有一个commandButton(我尝试了标准的h:commandButton和primefaces one p:commandButton),当点击按钮时,会调用支持bean中的一个方法并返回一个Excel文件。这个命令按钮在一个对话框中,但我认为这不会影响 问题是,这个按钮似乎没有生成任何请求,至少firebug没有显示它,但我从服务器获取Excel文件,如果没有请求,这是没有意义的 <h:commandButton id="downloadButton" v

我面临着一个奇怪的情况,我有一个commandButton(我尝试了标准的h:commandButton和primefaces one p:commandButton),当点击按钮时,会调用支持bean中的一个方法并返回一个Excel文件。这个命令按钮在一个对话框中,但我认为这不会影响

问题是,这个按钮似乎没有生成任何请求,至少firebug没有显示它,但我从服务器获取Excel文件,如果没有请求,这是没有意义的

<h:commandButton id="downloadButton" value="Download" action="#{bean.downloadExcel}"/> 
<p:commandButton id="downloadButton" value="Download" action="#{bean.downloadExcel}" ajax="false" onsuccess="confirmDialogWv.close();"/> 

我没有同时使用两个按钮,只是用两个按钮进行测试,结果相同

如果“一切正常”,问题是什么?如果没有任何请求,我无法关闭带有onsuccess事件的对话框

以前有人遇到过这个问题吗?有什么解释吗

提前感谢您的帮助

编辑:


第二个按钮打开一个新窗口并正常工作

更新:

正如前面所说的,firebug没有显示任何请求,但我现在已经用IE和Chrome进行了测试

Chrome:显示请求,但当我在浏览器中获取Excel文件时,请求的状态变为“已取消”


IE9:显示请求并返回代码200,但onsuccess事件未被触发

您的按钮是否在对话框中的表单中?@Andy是的,对话框在表单中您可以多放一点代码吗?有了表单和对话框?@jedrus07,你就有了重要的部分。这是一个显而易见的问题(因为经常发生),你没有任何嵌套表单吗?
<h:form id="contentForm" prependId="false" >
<!-- lot of code -->
<p:dialog id="confirmDialog"
              modal="true" 
              closable="false" 
              widgetVar="confirmDialogWv" 
              resizable="false"
              header="Confirm">

            <p:commandButton id="downloadButton" value="Download" action="#{bean.downloadExcel}" ajax="false" onsuccess="confirmDialogWv.close();"/> 
            <p:commandButton id="openHtmlButton" value="Open HTML" process="@form" update="@form" actionListener="#{bean.openHtml}"/>
    </p:dialog>
</h:form>