Struts2列表提交

   在我们做表单数据提交的时候会遇到一个list列表提交的问题,用土鳖的一点的方法是将列表元素做一个下标,利用request.getParameterValues()方法获取某一组name相同元素的数组,然后一个个对应,但是无法使用对象的方式将一个list中的数据包装成对象的数组提交过来,显得代码比较繁杂,不够优雅。struts2自带有类型转换器功能解决这个问题,具体的方法是在action这个目录中建立一个同名action-conversion.properties的文件,在文件中定义具体的需要传递的list名字,例如:
 
  pojo:
  public class User{
     private String id;
     private String name;
     
     ....
     get、set省略
  }

  action类:
  public class UserAction{
      private List<User> userList;//表单提交使用的user的数组对象
      
      public String execute(){ 
           service.save(userList);
      }
      get、set省略
   }

   properties文件:(与action同目录,文件名UserAction-conversion.properties)
  
   Element_userList=User
   CreateIfNull_userList=true

   CreatelfNull里是允许为空

   在jsp文件中如下使用:
    <s:iterator value="list" status="stat">
        用户编码:<input type="hidden" name="userList[<s:property value='#stat.index'>].id" />
        用户名称:<input type="hidden" name="userList[<s:property value='#stat.index'>].name" value="" />
    </s:iterator>
  

  
    如果碰到相同的情况可以试试,简单实用。

你可能感兴趣的:(struts2表单提交,List对象提交)