【问题标题】:JasperReport renders parameters as nullJasperReport 将参数呈现为 null
【发布时间】: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();

提前致谢。

【问题讨论】:

  • 您传递的是空的 MapJasperFillManager.fillReport(report, new HashMap(),dataSource); - 查看第二个参数 (HashMap())。你应该传递parametros 对象而不是空的Map。 Javadoc 随时为您提供帮助:JasperFillManager.fillReport
  • 见鬼,这比我预期的要容易得多。感谢您的快速答复!

标签: java jasper-reports


【解决方案1】:

参数和数据源不一样。

JasperPrint jasperPrint = JasperFillManager.fillReport(report, parametros, dataSource);

在您的 jrxml 中,您有参数 ex。来自表格的 id,来自外部的表格。和一个数据源 (CSV/SQL/...) 作为数据库的源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    相关资源
    最近更新 更多