jsf-2 - Primefaces 文件下载错误处理

标签 jsf-2 primefaces

如何处理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/

相关文章:

jsf-2 - JSF 2 selectOneRadio 依赖验证

html - 警告 : This page calls for XML namespace declared with prefix [html tag] but no taglibrary exists for that namespace

javascript - JSF 数据表分页中的当前页码

java - Primefaces 向导。如何返回onnext的js函数选项卡

jsf - 在 p :fileDownload and hide status when it is finished 开始时显示状态

jsf - 带有自定义过滤器的 Primefaces 动态列

java - Primefaces 中是否有任何选取框效果行为......?

jsf-2 - 如何更改 h :commandLink? 的标准 href ="#"属性

css - 删除 Primefaces 组件上的左填充

jsf-2 - 用primefaces 5.2改变表达语言