リクエスト属性「BillSummaryTables」にテーブル名のリストがあります。リストを反復処理しています。各テーブル名を使用して、その特定のテーブル名のリクエスト属性を取得したいと考えています。各テーブル名に対応して、リクエスト属性に別のリストがあり、それを繰り返し処理したいと考えています。
これが私がやっていることです。
<s:iterator value='#request.BillSummaryTables' var="tableName" status="itStatus">
<div class="contentbox" role="content">
<table class="rpt">
<s:iterator value="#request.get('%{#tableName}').getData()" var="ocRow" status="itStatus">
<tr style="border:1px solid #CCCCCC">
<s:iterator value='#ocRow' var="cell" status="itStatus2">
<td>
<s:property value="#cell.getValue()"/>
</td>
</s:iterator>
</tr>
</s:iterator>
<tr>
<s:iterator value="#request.get('%{#tableName}').getData()" var="ocTotal">
<td>
<s:property value="#ocTotal"/>
</td>
</s:iterator>
</tr>
</table>
</div>
</s:iterator>
私も試してみました
#request[<s:property value="#tableName" />].getData()
と
#request['<s:property value="#tableName" />'].getData()
と
#request.%{#tableName}
しかし、いずれにしても何も返されません。ただし、値をハードコーディングすると、このコードは正常に機能します。つまり、私が使用する場合:#request['other_charges'].getData()
注: tableName ( #request.BillSummaryTables
) のリストを取得できます。