如何遍历freemarker FTL中最外层的哈希表

时间:2014-01-14 08:57:45

标签: freemarker

JAVA CODE中的地图

Map dataMap = new HashMap();
dataMap.("key1","value1");
dataMap.("key2","value2");
dataMap.("key3","value3");
dataMap.("key4","value4");

和freemarker

template.process(dataMap, out);

在FTL中

<#list dataMap.keySet() as k>
  <span>${k}:</span><span>dataMap[k]</span>
</#list>

我收到了错误: freemarker.core.InvalidReferenceException:表达式dataMap未定义

那么如何在FTL中获得“key1”,“key2”,“key3”和“value1”,“value2”,“value3”的值? 我试图使用“rootMap”,“。main”,“。vars”来替换“dataMap”。所有无效。

1 个答案:

答案 0 :(得分:0)

您可以使用.dataModel这样的特殊变量:

<#list .data_model?keys as prop>
    ${prop} - ${.data_model[prop]}
</#list>

请参阅freemarker documentation