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的值,模板文件中要怎么写。
在线等挺急的
展开
 我来答
匿名用户
2017-11-09
展开全部
应该更行一下pdf的字符集,我也遇到过类似的情况,这个跟报表系统好像没有关系,当我更新了pdf浏览器的字符集后,可以正常显示,好像有10多M大校你可以试试finereport,没有这些问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
已增洋A
2017-11-09 · TA获得超过370个赞
知道小有建树答主
回答量:720
采纳率:36%
帮助的人:232万
展开全部
与诸子登岘山(孟浩然)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式