私は仮想アイテムを購入するためにマーケットプレイスで作業しており、各アイテムの横にある[購入]ボタンを使用して、各アイテムの詳細を行に表示することを計画しています。これが私が持っているものです:
<s:form method="post">
<s:hidden name="shownType"/>
<table>
<tr>
<td>Name</td>
<td>Image</td>
<td>Type</td>
<td>Price</td>
<td>Buy</td>
</tr>
<s:iterator value="items" var="item">
<tr>
<td><s:property value="name" /></td>
<td><s:property value="image" /></td>
<td><s:property value="type" /></td>
<td align="center"><s:property value="price" /></td>
<td><s:submit value="Buy"
onclick="coinAlert()" action="Buy"
type="button" theme="simple">
</s:submit></td>
</tr>
</s:iterator>
</table>
</s:form>
理論的には、特定のItemオブジェクト(名前、画像など)をBuyアクション(具体的にはbuyedItemという名前のItem)に渡します。問題は、クリックしたボタンの横にある特定のアイテムを参照する方法がわからないことです。私はもう試した
<s:hidden name="boughtItem.name" value="%{#item.name}"/>
ただし、buyedItemの名前は、リスト内のすべてのアイテムの名前にコンマで区切って設定されます。イテレータを使用してbuyedItemオブジェクト全体を一度に設定しようとしても失敗しました。
これに関する洞察をいただければ幸いです。