从 Web 应用 Jasper 报表调用存储过程时不会返回任何数据



我有一个 Jasper 报告,它是从我的 Web 应用程序调用的,并执行存储过程来获取其数据。存储过程适用于 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();

任何建议将不胜感激。

我找到了问题的原因。存储过程中定义的参数名称 JRXML 和 Java 类中的参数名称都必须相同。就我而言,Java 类使用 MIN_DATE 和 MAX_DATE,而 storageproc 和 JRXML 使用 minDate 和 maxDate。

难怪数据没有返回!

最新更新