2010-06-29 27 views
8

Duplicar posibles:
Freemarker iterating over hashmap keysiteración sobre un mapa en Freemarker

Tengo un mapa hash que contienen identificadores de elemento como una clave y artículo objetos como un valor. A continuación se muestra el código de pseudo -

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

En result.ftl necesito iterar sobre este mapa y obtener los valores del objeto Item. He intentado este enfoque, pero no se pueden obtener valores de objeto Item -

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

Respuesta

9

Creo que desee:

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

Esta es exactamente la respuesta que estaba buscando. ¡Gracias por compartir! – Cristian

+3

Solo funciona si la clave es una Cadena, no si es una Clase –

+1

Desde 2.3.25 puede usar '<#list allItems como clave, elemento> $ {key} = $ {item [name]}'. Esto funciona con claves que no sean '' String' también. – ddekany

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