【发布时间】:2015-06-19 17:24:27
【问题描述】:
我有一个 Jasper 报告,它从我的网络应用程序中调用并执行一个存储过程来获取其数据。存储过程适用于 SQL Developer 和 iReports Studio (5.1),但在构建和部署后,当我从 JSP 前端调用报告时,它只返回一个空白 pdf。
日志文件表明参数已正确发送,但没有 Jasper 库的 JRVerticalFiller 类的数据。
conn = dataSource.getConnection();
parameters.put("REPORT_CONNECTION", conn);
parameters.put("SUBREPORT_DIR", propsUtil.getReportsRootpath());
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, conn);
JRPdfExporter jrPdfExporter = new JRPdfExporter();
jrPdfExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
//etc ...
jrPdfExporter.exportReport();
任何建议将不胜感激。
【问题讨论】:
-
这个给定的信息很难说,是否可以共享代码spinet?
-
您能否检查路径是否正确:
propsUtil.getReportsRootpath(),尝试仅打印一些静态内容,看看是否有效。如果您使用的是jrxml,请尝试在文件中仅包含一些静态内容。 -
getReportsRootPath 返回正确的文件夹位置。从单步执行 jasper 源代码开始,日志语句显示没有数据。这很奇怪,因为在 SQL Developer 中运行存储过程确认有数据。
-
确保传递的连接对象被正确初始化
标签: java jsp stored-procedures jasper-reports