Can you do something like this in a velocity template?
#set ($map = $myobject.getMap() )
#foreach ($mapEntry in $map.entrySet())
$mapEntry.key()&
Your mistake is referring to key and value as methods (with trailing "()" parenthesis) instead of as properties. Try this:
#set ($map = $myobject.getMap() )
#foreach ($mapEntry in $map.entrySet())
<name>$mapEntry.key</name>
<value>$mapEntry.value</value>
#end
In other words, use either a property, like mapEntry.key, or the method, like mapEntry.getKey().
I'm looking for a way to loop through a HashMap in velocity, and this will work too.
#set ($map = $myobject.getMap())
#foreach( $key in $map.keySet())
<name>$key</name>
<value>$resume.get($key)</value>
#end
Just like the way you would loop through a HashMap in java.
Here the Value
itemsValue={data1=1,data2=2,data3=3}
So , we need to iterate the group of value;
foreach ($key in ${itemsValue.keySet()})
if($itemsValue.get($key)==1)
Condition
end
end
In the above code we can see check the value will be like -"data1,data2 etc ..." but after using the get(), we can able to get the instance value.
To clarify (I cannot comment), in general you can use either the Java get methods, or replace them by the corresponding name without with a small letter and without ()
.
So $mapEntry.getKey()
or map.key
.