2014-01-14 36 views
1

在FTL如何遍歷freemarker的FTL

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

在Java代碼中

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

和freemarker的

template.process(dataMap, out); 

的地圖我得到了錯誤的最外面的哈希表: freemarker.core.InvalidReferenceException:表達式dataMapis未定義

那麼如何在FTL中獲得「key1」,「key2」,「key3」和「value1」,「value2」,「value3」的值呢? 我試圖用「rootMap」,「。main」,「。vars」來替換「dataMap」。所有的都是無效的。

回答

0

可以使用.dataModel特殊的變量是這樣的:

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

freemarker documentation