Uploaded image for project: 'Velocity'
  1. Velocity
  2. VELOCITY-538

Cannot add objects as values in Map creation unless last entry is quoted

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.5
    • Fix Version/s: 1.6
    • Component/s: Engine
    • Labels:
      None
    • Environment:
      Windows XP Service pack 2, Sun JVM 1.5.0.11

      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.

        Attachments

          Activity

            People

            • Assignee:
              wglass Will Glass-Husain
              Reporter:
              asmodean Asmodean
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: