freemarker中循环list中的map问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freemarker中循环list中的map问题相关的知识,希望对你有一定的参考价值。

我在后台传过来一个list,list中是我存的map结果集,请问怎么用freemarker循环出map中的结果呢

参考技术A Java代码:

List list = new ArrayList();
Map map1 = new HashMap();
map1.put("phone", "13655555555");
map1.put("email", "admin@vip.com");
map1.put("address", "china");
list.add(map1);

Map map2 = new HashMap();
map2.put("phone", "13888888888");
map2.put("email", "china@vip.com");
map2.put("address", "beijing");
list.add(map2);

test.ftl文件:

<#list list as map>
<#list map?keys as itemKey>
<#if itemKey="phone">
Phone:$map[itemKey]
</#if>
<#if itemKey="email">
Email:$map[itemKey]
</#if>
<#if itemKey="address">
Address:$map[itemKey]
</#if>
</#list><br/>
</#list>本回答被提问者采纳

freemarker 遍历list去除重复值问题

如我返回listA,A,B,C,C处理后能得到A,B,C.既相同重复值只取一次。请问有什么方法?
<#list list as node>
</#list>

参考技术A 貌似没有这个方法,集合去重一般都是放在后台操作的,
List() list = new ArrayList<String>();
list.add添加listA,A,B,C,C

Set<String> set = new HashSet<String>();
set.addAll(list);//实现去重

//重新定义一个list2集合
List<String> list2 = new ArrayList<String>();
list2.addAll(set);

将list2这个集合传到前台
<#list list as node>集合中进行迭代

以上是关于freemarker中循环list中的map问题的主要内容,如果未能解决你的问题,请参考以下文章

关于FreeMarker的list循环取值问题

freemarker 遍历map 对象

freemarker 遍历list去除重复值问题

freemarker中遍历一个list,得到指定的值 然后以逗号隔开

如何从 Freemarker 中的模板数据映射对象递归打印数据?

freemarker 循环了两个list