概述
freemarker 处理 list 其实是很方便的。用 “<#list as >
这里用JSON数据作一个演示。具体生成步骤请参看PDF(一),这里仅仅贴出有关例子。java 中参数组装如下:
Map<String, Object> paraMap = new HashMap<String, Object>();
JSONArray test = new JSONArray();
for (int i = 1; i < 5; i++) {
JSONObject para = new JSONObject();
para.put("name", "王"+i+"明");
para.put("address", "人民路"+i+"号");
para.put("age", "10岁");
test.add(para);
}
paraMap.put("test", test);
HTML模板如下:
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312"></meta>
<meta name=Generator content="Microsoft Word 15 (filtered)"></meta>
</head>
<body lang=ZH-CN style='text-justify-trim:punctuation'>
<div class=WordSection1 style='layout-grid:15.6pt'>
<#if test ??>
<#list test as x>
<table>
<tr>
<td>姓名</td>
<td>
<#if (x.name)??>
${x.name}
</#if>
</td>
<td>年龄</td>
<td>
<#if (x.age)??>
${x.age }
</#if>
</td>
<td>地址</td>
<td>
<#if (x.address)??>
${x.address}
</#if>
</td>
</tr>
</#list>
</#if>
</table>
</div>
</body>
</html>
生成PDF如下”
姓名 王1明 年龄 10岁 地址 人民路1号
姓名 王2明 年龄 10岁 地址 人民路2号
姓名 王3明 年龄 10岁 地址 人民路3号
姓名 王4明 年龄 10岁 地址 人民路4号
说明: list也可以嵌套,给个空样式,没有例子
<#list one as x>
<#list x.element as y>
相关操作,如打印y的某个属性:${y.name}
</#list>
</#list>
最后
以上就是无辜芹菜为你收集整理的PDF生成(三)freemarker 的list 处理的全部内容,希望文章能够帮你解决PDF生成(三)freemarker 的list 处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复