JasperReport生成pdf文件遇到的问题
使用JasperReport生成pdf文件时,如何将Map<String,List<Map<String,Object>>>类型的数据的最里层map中的数据取出来?模板文...
使用JasperReport生成pdf文件时,如何将Map<String, List<Map<String, Object>>>类型的数据的最里层map中的数据取出来?模板文件中应该怎么写?
我暂时使用JRMapCollectionDataSource类型传递的。
for(TracedDevice device : list) {
Map<String, Object> detail = new HashMap<String, Object>();
detail.put("state", "成功");
detail.put("name", "任务一");
Collection<Map<String, ?>> descList = new ArrayList<Map<String, ?>>();
for(DirectiveDesc desc : tdd.getDirectives()) {
Map<String, Object> descMap = new HashMap<String, Object>();
descMap.put("operationName", "操作一");
descMap.put("operationResult", "执行结果");
descList.add(descMap);
}
detail.put("operation", new JRMapCollectionDataSource(descList));
reportRows.add(detail);
}
JasperPrint jasperPrint = getJasperPrint("模板文件地址", params, reportRows);
JRPdfExporter pdfExporter = new JRPdfExporter();
pdfExporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "utf-8");
pdfExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
pdfExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "文件保存地址");
pdfExporter.exportReport();
我现在可以获取到最外层也就是detail 这个map中的类似operationName字段的值,但是我不知道该如何取得最里层descMap中的类似operationName的值。
在模板文件中取得detail 这个map中的operationName字段的值,我是直接写的$F{operationName}。
求大神告诉一下取得最里层descMap中的类似operationName的值,模板文件中要怎么写。
在线等挺急的 展开
我暂时使用JRMapCollectionDataSource类型传递的。
for(TracedDevice device : list) {
Map<String, Object> detail = new HashMap<String, Object>();
detail.put("state", "成功");
detail.put("name", "任务一");
Collection<Map<String, ?>> descList = new ArrayList<Map<String, ?>>();
for(DirectiveDesc desc : tdd.getDirectives()) {
Map<String, Object> descMap = new HashMap<String, Object>();
descMap.put("operationName", "操作一");
descMap.put("operationResult", "执行结果");
descList.add(descMap);
}
detail.put("operation", new JRMapCollectionDataSource(descList));
reportRows.add(detail);
}
JasperPrint jasperPrint = getJasperPrint("模板文件地址", params, reportRows);
JRPdfExporter pdfExporter = new JRPdfExporter();
pdfExporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "utf-8");
pdfExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
pdfExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "文件保存地址");
pdfExporter.exportReport();
我现在可以获取到最外层也就是detail 这个map中的类似operationName字段的值,但是我不知道该如何取得最里层descMap中的类似operationName的值。
在模板文件中取得detail 这个map中的operationName字段的值,我是直接写的$F{operationName}。
求大神告诉一下取得最里层descMap中的类似operationName的值,模板文件中要怎么写。
在线等挺急的 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询