struts2中如果使用了 <s:iterator >标签对一个集合进行迭代 如
<form action="...">
<s:iterator value="#session.student" name="stu">
  <input id="name" name="name" value='<s;property value="stu.name">'/>
</s:iterator>
</form>
迭代的结果是将session中的所有学生取出,但是会生成一列id和name一样的<input>记录 ,
我想改变其中某条记录的值然后再提交表单保存,
那样就没法映射了,因为name属性都一样.
该怎么办? 谢谢.

解决方案 »

  1.   

    <input id="name" name="name" value='<s;property value="stu.name">'/>
    id跟name一样 为什么?
    还有value有必要用到property标签么?
      

  2.   

    说个思路
    input标签的name和id可以加上序号,比如"name1"、"name2"...来区分
    用户修改了某些input后,点击提交的时候,可以将这些input的值用js封装为json数据,提交到后台,到了后台再解析json为list。
      

  3.   

    主要是虽然id或name=name1 但是经过iterator一迭代后 又生成一堆Id或name一样的标签了 那个iterator简直就是复制 那又不好映射了
      

  4.   

        <s:iterator value="list">
            <tr>
               <td><s:property value="name"/></td>
               <td><s:property value="age"/></td>
               <td><s:property value="classes.name"/></td>
               <td><a href="list_del?id=<s:property value="id"/>">删除</a>//<a href="list_getone?id=<s:property value="id"/>">详情</a></td>
            </tr>
        </s:iterator>
    给你举个例子,迭代的时候直接加上个操作action的链接