Ajax 点击按钮方法完成后触发下载
目前,我正在努力在一个方法完成后下载一个文件Ajax 点击按钮方法完成后触发下载,ajax,jsf,primefaces,Ajax,Jsf,Primefaces,目前,我正在努力在一个方法完成后下载一个文件 <p:commandButton id="someID" icon="ui-icon-folder-collapsed" actionListener="#{bean.myMethod}" ajax="true" value="test"> </p:commandButton> myMethod做了一些奇特的长流程工作,需要一些时间。我需要的是在my
<p:commandButton id="someID"
icon="ui-icon-folder-collapsed"
actionListener="#{bean.myMethod}"
ajax="true" value="test">
</p:commandButton>
myMethod做了一些奇特的长流程工作,需要一些时间。我需要的是在myMethod找到后提供下载。
我的方法调用下载方法来执行一些操作。类似于这里的方法
只要我处理:myMethod我就显示一个“工作指示器”
我了解到我不能从Ajax调用启动下载(Primefaces的命令按钮默认启动)。将属性ajax更改为false时,mymethod处理并在修改后显示下载对话框。问题是在此期间,我没有显示“工作指示器”
Primeface有以下解决方案:
现在我的问题是,是否可以从按钮启动一个方法(并显示“工作指示器”),当该方法完成时,仍然可以通过fileDownload显示下载对话框 只需将代码放入流文件的getter中,您的工作指示符是AjaxStatus还是对话框?!?指示器是一个对话框。试过这个。也不行。100%我的问题是driscriebed:只需将代码放入流文件的getter中。您的工作指示器是AjaxStatus还是对话框?!?指示器是一个对话框。试过这个。也不行。100%我的问题为driscriebed:
<p:ajaxStatus onstart="PF('dia').show()"
oncomplete="PF('dia').hide()" />
<p:dialog widgetVar="dia" modal="true" draggable="false"
closable="false" resizable="false" showHeader="false">
<h:outputText value="sometext" />
<p:graphicImage value="./img/ajax-loader.gif"></p:graphicImage></p:dialog>