我正在使用 JasperReports(v.4.0.6) 和 DynamicJasperReports(v.4.0.1) 开发一个 Java 项目。我已经使用 Eclipse 的最新 iReport 插件生成了一个自定义 .jrxml。
在我的 .jrxml 报告中,我定义了两个参数,这些参数将由 Java 程序根据用户给出的一些输入来填充。
<parameter name="ReportTitle" class="java.lang.String"/>
<parameter name="DataFile" class="java.lang.String"/>
然后,正如本教程所述,由于我想维护几个预定义的参数,我从我的代码中调用setTemplate()方法。
String table_template = "report_templates/TableTemplate.jrxml";
Map<String, String> params;
...
DynamicReportBuilder drb = new DynamicReportBuilder();
drb.setTemplateFile(table_template, true, true, true, true);
DynamicReport dr = drb.build();
我将参数传递给模板,执行以下操作:
params.put("ReportTitle", "CustomTitle");
params.put("DataFile", "CustomSubtitle");
但是,当我生成 de 报告时,这两个字段显示为空白,好像 DJ 库没有预先保存插入值的位置。我没有收到任何其他错误或异常。
我尝试将 Jasper 库降级为旧版本,但也无济于事。
如果有人能给我一些关于我做错了什么的见解,我将不胜感激。
提前致谢。