Details
-
Temp
-
Status: Closed
-
Trivial
-
Resolution: Not A Problem
-
2.0.6
-
None
-
None
-
None
-
Apache Tomcat 5.5, Java 1.6, Windows XP
Description
First, you can look through next jsp codes:
<s:iterator status="stat" value="destObjects">
<tr>
<s:iterator value="visibleColumns">
<td>
<s:property value="destObjects[%
</td>
</s:iterator>
</tr>
</s:iterator>
Variable "destObejcts" is a <LIST> type which contains a serial of objects named "destObject".
Variable "visibleColumns" is also a LIST of objects named "visibleColumn", and "fieldDefName" is a property of "visibleColumn".
And thus value of expression "visibleColumn.fieldDefName" will be a property name of object "destObject".
Above relationship between two objects sounds a bit boring. As a trouble, I failed to get the correct values of these dynamic fields of "destObejct", and I had tried in many ways, and next Struts2 expressions ALL could not work:
<s:property value="destObjects[%{#stat.index}
].%
{fieldDefName}" /><s:property value="%{destObjectsstat.index.%{fieldDefName}}" />
<s:property value="%{fieldDefName}
" />
OR
<s:iterator value="destObjects" id="do">
<s:iterator value="visibleColumns" id="vc">
<s:property value="#do.%
"/>
</s:iterator>
</s:iterator>
However, if I specify a real fieldname out of the second iterator tag, it does work:
<s:property value="destObjects[%
].field1" />