【发布时间】:2017-06-12 02:43:04
【问题描述】:
当我尝试将数据表信息导出到 PDF 时遇到了这个问题,该方法完成了所有操作,但它不下载 PDF 甚至不生成。
Netbeans 版本:8.2
JSF:2.2
Primefaces:5.3
Libraries used:
Jasperreports 6.3
poi 3.14
commons-beanutils-1.9.0
commons-collection-3.2.2
commons-digester-2.1
commons-logging-1.1.1
groovy-all-2.4.0
itext-2.1.7.js5
jaxp-ri
jcommon-1.0.23
jfreechart-1.0.19
而我的方法是:
public void exportpdf(OrdenRetiro or) throws JRException, IOException {
conexion con = new conexion();
Map<String, Object> parametros = new HashMap<String, Object>();
FacesContext context = FacesContext.getCurrentInstance();
ServletContext servleContext = (ServletContext) context.getExternalContext().getContext();
parametros.put("RutaImagen", servleContext.getRealPath("/reportes/"));
parametros.put("cod_ordenretiro", or.getCod_ordenretiro());
String temperatura = or.getEs_temperado()==1?"ReporteFreezer.jasper":"ReporteNoFreezer.jasper";
String dirReporte = servleContext.getRealPath("/reportes/"+temperatura);
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
response.addHeader("Content-disposition", "attachment;filename=Orden de Retiro"+or.getCod_ordenretiro()+".pdf");
response.setContentType("application/pdf");
JasperPrint impres = JasperFillManager.fillReport(dirReporte, parametros, con.getConnection());
JasperExportManager.exportReportToPdfStream(impres, response.getOutputStream());
context.responseComplete();
}
有什么想法吗?
【问题讨论】:
-
您是否尝试使用简单测试生成报告(导出到文件)?
-
我已经有其他项目结构相同并且可以导出,你的意思是直接下载文件夹中的文件?
-
您可以创建一个简单的控制台应用程序来检查与导出报告相关的部分代码为pdf(使用JasperReports API)。
-
请始终、始终、始终发布minimal reproducible example。您的问题看不到哪里出了问题。
标签: jsf jasper-reports