.script files: "index" property of "foreach" tag is stored as a String, not an
integer
--------------------------------------------------------------------------------------
Key: TAPESTRY-1193
URL: http://issues.apache.org/jira/browse/TAPESTRY-1193
Project: Tapestry
Issue Type: Bug
Components: Framework
Affects Versions: 4.0.2
Reporter: Jim Steinberger
Priority: Minor
In .script files, the "index" value of the "foreach" tag is stored as a String,
not an integer.
If you have a two-dimensional array stored in the input-symbol "matrix", the
following will work fine:
${matrix[0].length}
But the following, where "matrixIndex" is the symbol used for a surrounding
"foreach"-tag's "index" value, will throw an error:
${matrix[matrixIndex].length}
The error will tell you that "matrix" does not have the property: 0.
i.e. since matrixIndex is a String, it's looking for a property of the
array-object named "0".
This issue doesn't arise with comparisons, such as ${matrixIndex > 0}, because
OGNL knows to interpret matrixIndex as an integer. However, again, in the case
of indexes to [ ], both an integer and String parameter are acceptable, so no
implicit casting is done on the String.
A workaround: [EMAIL PROTECTED]@parseInt(matrixIndex)].length}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]