2010-06-29 24 views
8

可能重複:
Freemarker iterating over hashmap keys遍歷圖中的Freemarker

我有一個哈希表包含項目ID作爲一個價值的關鍵和Item對象。以下是僞代碼 -

allItems : { 
    12: itemObj1 (id:12, name:myitem1) 
    13: itemObj2 (id:13, name:myitem2) 
    14: itemObj3 (id:14, name:myitem3) 
} 

On result.ftl我需要遍歷此映射並獲取Item對象的值。我已經試過這種方法,但不能從項目對象中獲取值 -

<#list item?keys as it> 
    ${it} = ${item.get(it)[name]} 
</#list> 

回答

9

我想你想:

<#list allItems?keys as it> 
    ${it} = ${allItems[it].name} 
</#list> 
+0

這正是我一直在尋找的答案。感謝分享! – Cristian 2013-01-21 20:00:40

+3

僅當密鑰爲字符串時纔有效,如果是類別則不適用 – 2013-04-15 12:43:13

+1

從2.3.25開始,您可以使用'<#所有項目作爲密鑰,項目> $ {key} = $ {item [name]}'。這也適用於非'String'鍵。 – ddekany 2016-07-08 18:49:22

1
<#assign seq=["a","b","c"]> 
<#list seq as l> 
    ${l[1]} 
// It will print b 
    ${l[0]} 
//It will print a 
</#list>