Template parsing of expansions can't handle map expressions
-----------------------------------------------------------
Key: TAP5-1605
URL: https://issues.apache.org/jira/browse/TAP5-1605
Project: Tapestry 5
Issue Type: Bug
Components: tapestry-core
Affects Versions: 5.3
Reporter: Robert Zeigler
5.3 introduced map support into the property expression language in the form:
{'foo': 'bar'}.
Expansion parsing chokes on the syntax, however. It uses a reluctant regular
expression to find the closing brace:
private static final Pattern EXPANSION_PATTERN =
Pattern.compile("\\$\\{\\s*(.*?)\\s*}");
Which means that the use of a map inside an expansion prematurely terminates
the exansion:
${echoMap({"foo": "bar"})}
The regex finds the first } and the expression evaluates as:
echoMap({"foo": "bar"
Which is clearly incorrect.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira