在做freeMarker的相关项目中,会经常遇到List列表与Map集合嵌套的问题,以此文记之。
1、map中嵌套list问题:
类似于:
Map<String, List<String>> map = new HashMap<String, List<String>>();
freeMaker中如下:
<#list map?keys as key>
<#assign item = map[key]>
<#list item as itemValue>
${itemValue}
<#list>
<#list>
以上代码中的<#assign item = map[key]>对应map中的键值对映射模型,如果Map中只有List列表属性,去掉映射关系即可。
2、list中嵌套map问题:
类似于:
List<HashMap<String, Object>> list=new ArrayList<Map<String, Object>>();
freeMaker中如下:
<#list map?keys as key>
${map[key]}
<#list>
这里使用hashMap仅作为案例示例,hashMap和linkHashMap的优势在于linkHashMap能够记录数据插入的顺序。