tzador tzador - 4 months ago 16
Java Question

Freemarker iterating over hashmap keys

Freemarker has two collection datatypes, lists and hashmaps
Is there a way to iterate over hashmap keys just as we do with lists?

So if I have a var with data lets say:

user : {
name : "user"
email : "looser@everything.com"
homepage : "http://nosuchpage.org"
}


I would like to print all the user's properties with their value.
This is invalid, but the goal is clear:

<#list user.props() as prop>
${prop} = ${user.get(prop)}
</#list>

Answer

You use the built-in keys function, e.g. this should work:

<#list user?keys as prop>
    ${prop} = ${user.get(prop)}
</#list>