我已经看到了类似的问题,但仍然找不到很大的解决方案。
这个程序:
List<HashMap<String, String>> list = ArrayList<HashMap<String, String>>();
String abc = "a,b,c";
for(String x : abc.split(",")){
// how to get this ?
HashMap<String, String> map = new HashMap<String, String>();
map.put("one", x);
map.put("two", x);
map.put("three",x);
list.add(map);
}
HashMap<String, Object> root = new HashMap<String, Object>();
root.put("abc",list);
root.put("test", "value");
如果我想使用freemark程序从根图迭代地图,该怎么做?
答案 0 :(得分:1)
如果您将代码放入方法
中的模型bean中 public HashMap<String, Object> getRoot() {
// ... your code
return root;
}
然后您可以访问abc
键下的地图列表,如下所示:
[
<#list root['abc'] as map>
{
<#list map?keys as key>
${key}: ${map[key]}
</#list>
}
</#list>
]
而不是root['abc']
,您也可以使用root.abc
,但第一个版本强调abc
是哈希映射键,而不是root
的属性。
这是结果输出:
[
{
two: a
one: a
three: a
}
{
two: b
one: b
three: b
}
{
two: c
one: c
three: c
}
]