Description
Hello!
I am having issues upgrading from 2.0 to 2.1 with existing templates. The minimal below example illustrates the change in behaviour:
<html>
<body>
#set ($example= [0..50])
${example.class.name}
#set ($example[10] = 500)
</body>
</html>
With 2.0:
this prints:
<html><body>java.util.ArrayList</body></html>
and throws no errors.
With 2.1:
this prints:
<html><body>org.apache.velocity.runtime.parser.node.ASTIntegerRange$IntegerRange</body></html>
and throws an UnsupportedMethodException at the set line.
I have tried all kinds of config variables from the docs in a unit test.
The 2.1 documentation states:
- The VTL RangeOperator [ 1..10 ] and ObjectArray ["a","b"] are java.util.ArrayList objects when placed in the context or passed to methods. Therefore, your methods that are designed to accept arrays created in the template should be written with this in mind.
https://velocity.apache.org/engine/2.1/developer-guide.html