【发布时间】:2017-08-29 19:30:33
【问题描述】:
我一直在测试 JasperReport 的工作原理等等,但在尝试发送参数时遇到问题,它们只是呈现为 null(已经检查过它们不为 null)。
这是目前为止的代码:
JasperReport report = JasperCompileManager
.compileReport("/home/alvaro93/entorno_luna/report1.jrxml");
Map<String, String> parametros = new HashMap<String, String>();
parametros.put("variable1", "Test");
List<Map<String, ?>> list = new ArrayList<Map<String, ?>>();
list.add(parametros);
JRMapCollectionDataSource dataSource = new JRMapCollectionDataSource(list);
JasperPrint jasperPrint = JasperFillManager.fillReport(report, new HashMap(),dataSource);
JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE, new java.io.File("/home/alvaro93/entorno_luna/report1.pdf"));
JasperViewer.viewReport(jasperPrint, false);
exporter.exportReport();
提前致谢。
【问题讨论】:
-
您传递的是空的 Map:
JasperFillManager.fillReport(report, new HashMap(),dataSource);- 查看第二个参数 (HashMap())。你应该传递parametros对象而不是空的Map。 Javadoc 随时为您提供帮助:JasperFillManager.fillReport -
见鬼,这比我预期的要容易得多。感谢您的快速答复!
标签: java jasper-reports