目前我正在努力在方法完成后下载文件。
<p:commandButton id="someID"
icon="ui-icon-folder-collapsed"
actionListener="#{bean.myMethod}"
ajax="true" value="test">
</p:commandButton>
myMethod做了一些花哨的长过程,需要一些时间。我的需要是在myMethod finshes之后提供下载。 我的方法调用下载方法来做一些。与此处的方法类似download function SO
只要我处理:myMethod我会显示一个“工作指标”
<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>
我了解到我无法从Ajax调用开始下载(默认情况下,Primefaces的命令按钮启动)。将属性ajax更改为false时,myMehtod将处理并显示下载对话框。问题是在此期间我没有显示“工作指示器”。
Primeface有这个解决方案:primeface download 现在我的问题是可以从Button启动一个方法(并显示“工作指示器”),当方法完成时仍然通过fileDownload显示下载对话框?