Details
Description
When creating a Map using the velocity 1.5 syntax (
{key:value,...}) it seems I can only add objects (except Strings) as map values if the last map entry is quoted. The following (where $object is put into context before, of course) will produce a parse exception:
#set ($map =
{"key": $object})
Where the following will not:
#set ($map =
{"key": $object, "anotherkey":"anothervalue"})
The "anotherkey": "anothervalue" entry does the trick in the form of "":"" as well, but something is up here. OR this is a map creation "flaw" not documented. Using the following will of course not get the desired result:
#set ($map =
{"key": "$object"})
since velocity will evaluate the $object reference and use its .toString() (where what you wanted to do was probably to add the actual object).
Would appreciate comments that could indicate if my thinking here is flawed or if it actually is a bug.