如何处理primefaces文件下载的错误
<p:fileDownload value="#{testBean.file}" />
测试Bean.java
public StreamedContent getFile() {
if(selectedReport ==null){
FacesContext.getCurrentInstance().addMessage(.."Please select a file");
return null;//What to do here
}
InputStream inps = ReportGenerator.getPDF(selectedReport);
return new DefaultStreamedContent(inps, "application/pdf", "report.pdf");
}
最佳答案
这有帮助 http://forum.primefaces.org/viewtopic.php?f=3&t=8263
<p:commandButton ajax="false"
value="Download Detailed Report"
actionListener="#{reportBean.generateDetailedReport}">
<p:fileDownload value="#{reportBean.detailedReport}"/>
</p:commandButton>
public void generateDetailedReport(ActionEvent ae) {
......
reportStream = ExcelReport.generate(reportList);
if (reportStream == null) {
FacesUtil.addError("Error generating report");
throw new AbortProcessingException();
}
}
public StreamedContent getDetailedReport() {
return new DefaultStreamedContent(reportStream, "application/xls", "report.xls");
}
关于jsf-2 - Primefaces 文件下载错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5584673/