我正在一个市场上购买虚拟物品,我计划让它成行显示每个物品的详细信息,每个物品旁边都有一个“购买”按钮。这是我所拥有的:
<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 操作(特别是传递给名为 buyItem 的 Item)。问题是,我不确定如何引用单击按钮旁边的特定项目。我试过了
<s:hidden name="boughtItem.name" value="%{#item.name}"/>
但这会将购买项目的名称设置为列表中所有项目的名称,以逗号分隔。任何使用迭代器一次设置整个购买项目对象的尝试都失败了。
对此的任何见解将不胜感激。