JasperReport将参数呈现为null

时间:2017-08-29 11:19:26

标签: java jasper-reports

我一直在测试JasperReport是如何工作的等等但是我在尝试发送参数时遇到了问题,它们只是呈现为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();

提前致谢。

1 个答案:

答案 0 :(得分:0)

参数和数据源不一样。

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

在你的jrxml中你有参数。来自桌子的id,外面的形式。以及数据源(CSV / SQL / ...)作为数据库的源。