我正在开发一个JSF应用程序,我正在创建jasper报告,我想在用户所需的位置导出jasper报告。当我放入硬编码的文件路径时,我得到输出。请帮我在运行时获取导出报告的路径。
答案 0 :(得分:0)
我通过获取respose.getServletStream解决了这个问题。
FacesContext fc = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) fc.getExternalContext().getResponse();
response.reset();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=pdf-transaction.pdf");
然后通过导出: JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.INPUT_FILE_NAME,
printFileName);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream());
exporter.exportReport();
感谢stackoverflow.com非常支持。 : - )