【问题标题】:Passing a list of values from jsp to Action class in Struts 2将值列表从 jsp 传递到 Struts 2 中的 Action 类
【发布时间】:2013-06-11 20:21:45
【问题描述】:

我有以下 JSP 代码来显示值列表

<table>
    <tr>
        <td>
            Name
        </td>
        <td>
            Age
        </td>
        <td>
            Id
        </td>
    </tr>
    <s:iterator value="resultList">
        <tr>
            <td>
                <s:textfield name="Name" />
            </td>
            <td>
                <s:textfield name="Age" />
            </td>
            <td>
                <s:textfield name="Id" />
            </td>
        </tr>
    </s:iterator>
</table>

<table>
    <tr>
        <td>
            <s:submit action="finalSubmit" value=" Submit " />
        </td>
    </tr>
</table>

它显示一个结果列表。现在我想将所有 Id 值传递给操作类。我在struts.xml 中定义了动作名称。现在在动作类中,只有 Id 的最后一个值即将到来。但我需要动作类中的所有 Id。

【问题讨论】:

  • 该操作应包含一个对象列表,每个对象都包含名称、年龄和 ID 字段。我建议反对 使用大写字母命名属性,就像您在此处所做的那样。表单字段应使用列表表示法命名,例如people[i].name。见struts.apache.org/release/2.2.x/docs/…

标签: java jsp struts2 struts struts-tags


【解决方案1】:

在动作中,应该配置名称finalSubmit创建属性

List<Long> allIds = new ArrayList<Long>();
//create getter and setter 

在 JSP 中重命名具有 Id 值的字段并添加迭代器状态属性。

<s:iterator var="row" value="resultList" status="status">
  <s:textfield name="allIds[%{#status.index}]" value="%{#row.Id}"/>

提交后,所有 id 都应出现在上面的列表中。

【讨论】:

    猜你喜欢
    • 2012-06-04
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 2013-12-07
    • 2014-12-14
    • 1970-01-01
    相关资源
    最近更新 更多