将数据从jsp迭代器发送回struts动作类

时间:2016-01-08 16:35:09

标签: java jsp struts2

我使用了iterator标签来显示jsp中的数据。

<s:iterator value="prodAL" status="id">
    <tr>
    <td><s:property value="PName"/></td>
    <td><s:property value="model"/></td>
    <td><s:property value="price"/></td>
    <td><s:property value="quantity"/></td>
    <td><s:property value="status"/></td>
    </tr>
</s:iterator

如何实现一个按钮(或其他可点击的界面元素),以便在单击它时,只应将该特定行的内容传递给另一个可以编辑内容的jsp或动作类。

2 个答案:

答案 0 :(得分:2)

您必须始终通过操作以及调度JSP的操作。永远不要直接从一个JSP跳转到另一个JSP。

那就是说,如果你想绘制一个产品清单,选择其中一个,登陆另一个页面并进行编辑,流程是:

  • 操作一:通过getter加载并公开List<Product>;
  • JSP One :迭代定位操作二<form>内的产品列表;使用<s:hidden /><s:checkbox/>或任何与按钮结合的内容(如果您想要每行一个按钮,请使用隐藏属性,如果您想在整个页面中使用单个编辑按钮,则使用复选框)将产品 ID 发送到操作二
  • 操作二:通过setter接收ProductID,使用它来加载Product,通过getter公开Product,渲染 JSP Two
  • JSP Two :通过<s:textfield />公开产品属性,对产品ID使用<s:hidden />

答案 1 :(得分:0)

添加每行的链接,并在查询字符串中包含您要为该行发送的所有信息。

类似的东西:

<td><a href="...your address...?status=<s:property value="status"/>&model=<s:property value="status"/>&...</td>