Primefaces fileDownload组件无法正常工作

时间:2016-01-22 17:41:21

标签: jsf primefaces

在Primefaces 5.1中,我使用fileDownload组件从tomcat webapps文件夹下载xls,但文件下载无效。

user.xhtml

<p:dialog modal="true" widgetVar="statusDialog" header="Status" draggable="false" closable="false" resizable="false">
    <p:graphicImage name="/demo/images/ajaxloadingbar.gif" />
</p:dialog>

<h:form>
    <p:commandButton value="Download" ajax="false" action="#{user.FileDownloadView}" onclick="PrimeFaces.monitorDownload(start, stop);" icon="ui-icon-arrowthick-1-s">
        <p:fileDownload value="#{user.file}" />
    </p:commandButton>
</h:form>
<script type="text/javascript">
function start() {
    PF('statusDialog').show();
}

function stop() {
    PF('statusDialog').hide();
}
</script>

user.java

private StreamedContent file;
public void FileDownloadView() 
{        

InputStream stream =((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext()).getResourceAsStream(".../webapps/project/root/user.xls");
        file = new DefaultStreamedContent(stream, "application/xls", "user.xls");

}

当我单击commandButton状态对话框打开并隐藏但未显示下载选项。我检查日志文件,文件存在于我的webapps文件夹中,但文件没有下载。我更改命令按钮操作以替换actionListener但也无法正常工作

0 个答案:

没有答案