在freemarker中迭代hashmap

时间:2013-02-12 15:54:51

标签: java freemarker

我有一个类似下面的哈希图

HashMap<String, String> testStatus = new HashMap<String, String>();
Map root = new HashMap();

public void fmTest() {

testStatus.put("one","1");
testStatus.put("two","2");
testStatus.put("three","3");
root.put("status", testStatus);
testStatus.clear();
}

我的FTL:

<#list status?keys as key> 
${key} = ${status[key]}
</#list> 

以上代码只是一个例子。我的问题是,如果我循环testStatus hashmap以在每个循环中具有不同的值并在循环结束时清除...我怎样才能让freemarker从每个循环中显示testStatus hashmap的键值对。

如果我没有清除testStatus hashmap,我会得到累积的结果。但是如果我清除testStatus hashmap,freemarker就什么都不显示..

1 个答案:

答案 0 :(得分:0)

HashMap<String, String> testStatus = new HashMap<String, String>();

将此声明放入fmTest方法,然后每次调用该方法时,都会将新的Map放入根目录,因此不会累积...