jasperreport生成html,解决JasperReport 导出 Html 时图片显示问题 | 谢邵虎的博客

这段代码展示了如何利用JasperReports库从模板文件中填充数据并生成HTML报告。首先,通过ApplicationContext获取报表模板,然后用JasperFillManager填充数据。接着,创建JRHtmlExporter设置图片URI以防缓存,并将报表保存到session。最后,导出HTML报告到HTTP响应流中,确保输出被立即刷新。
摘要由CSDN通过智能技术生成

String jasperFilePath = “WEB-INF/reports/test.jasper”;

// 获得报表模板文件对象

File reportFile = getApplicationContext().getResource(jasperFilePath).getFile();

JasperPrint print = JasperFillManager.fillReport(reportFile.getAbsolutePath(), map, dataSource.getConnection());

JRHtmlExporter exporter = new JRHtmlExporter();

// 组装图片请求URI,增加time参数,防止同一个报表的图片缓存。

String imageURI = request.getContextPath() + “/service/reportImages?time=” + System.currentTimeMillis() + “&image=” ;

exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, imageURI);

request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, print);

exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.TRUE);

exporter.setParameter(JRExporterParameter. JASPER_PRINT, print);

exporter.setParameter(JRExporterParameter. OUTPUT_WRITER, response.getWriter());

exporter.setParameter(JRHtmlExporterParameter.FLUSH_OUTPUT, Boolean.TRUE);

exporter.exportReport();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值