Jsf 2 是否可以以编程方式存储PrimeFaces导出的数据?

Jsf 2 是否可以以编程方式存储PrimeFaces导出的数据?,jsf-2,primefaces,Jsf 2,Primefaces,我需要将导出的数据以字符串或excel格式存储到某个文件中,并希望使用电子邮件发送该文件 我目前的出口声明是 <p:dataExporter type="xls" target="tableWbTicketold" fileName="TicketOldReport" /> 你有两个选择: 使用后处理器:。 您可以在tableBean.postProcessXLS中通过电子邮件发送工作簿,但这不会阻止正常的流文件下载对话框 编写自己的DataExporter自定义组件,扩展PF

我需要将导出的数据以字符串或excel格式存储到某个文件中,并希望使用电子邮件发送该文件

我目前的出口声明是

 <p:dataExporter  type="xls" target="tableWbTicketold" fileName="TicketOldReport" />

你有两个选择:

使用后处理器:。 您可以在tableBean.postProcessXLS中通过电子邮件发送工作簿,但这不会阻止正常的流文件下载对话框

编写自己的DataExporter自定义组件,扩展PF类并覆盖:DataExporter.processAction、ExcelExporter.export

更新

这样:

public void postProcessXLS(Object document)
{
    try
    {
        Workbook wb = (Workbook) document;

        File file = File.createTempFile("exporter-", ".xls");

        FileOutputStream out = new FileOutputStream(file);
        wb.write(out); // or write in mail body
        out.close();

        // do what you need with file

        file.delete();
    }
    catch(IOException e)
    {
        e.printStackTrace();
    }
}

是的,工作正常。问题是我想将导出的数据存储到其他地方。通过使用dataExporter,您可以下载文件,正如您所说,它已经工作了。您想将其存储在哪里?但是如何获取导出的文件,即后处理xls方法中的xls文件。