springMVC 接收post请求传递过来的集合

本文转自

https://blog.csdn.net/wabiaozia/article/details/50803581

这位大拿解释的很清楚,

方法一:post请求封装好一个集合List<User>,后台获取时得先建立一个bean  PersonList,其有一个属性为List<User> userList,这样可以在后台直接获取List<user> userList = PersonList.getUserList()。

前台页面:

<form id="form" action="test/test.do" method="post">
<input type="text" name="personList[0].username" value="zhangsan"/>
<input type="text" name="personList[0].age" value="55"/><br/>
<input type="text" name="personList[1].username" value="lisi"/>
<input type="text" name="personList[1].age" value="21"/><br/>
<input type="submit">

<form>


方法二:使用@RequestParam注解,直接提交表单

jsp页面

[html]  view plain  copy
  1. <form .....method="post"..............>  
  2. 姓名1:<input  type="text" name="id"   value="">  
  3. 年龄1:<input  type="text" name="age"   value="">  
  4. 地址1:<input  type="text" name="address"   value="">  
  5.   
  6. 姓名2:<input  type="text" name="id"   value="">  
  7. 年龄2:<input  type="text" name="age"   value="">  
  8. 地址2:<input  type="text" name="address"   value=""><pre code_snippet_id="1597573" snippet_file_name="blog_20160304_1_2164278" name="code" class="html"></form>  

[html]  view plain  copy
  1.   controller  
  2.         @RequestMapping("/...........")  
  3.     public String update(Export export,     @RequestParam("id")String[] ids,  
  4.                                                 @RequestParam("age")String[] ages,  
  5.                                                 @RequestParam("address")String[] address,  
  6.                                                 Model model){  
  7. //ids,ages,addres接收进来的是什么样的数据呢?  
  8. //接收的数据类型是ids[111,222,333],ages[222,333,444],address[sss,ddd,yyy]  
  9. //拓展:若用@RequestParam("id")String ids接收,则传进来的是一个个String字符串,用逗号分隔。例如ids:“abc,cde,def”  
  10.   
  11. //批量增加  
  12. for(int i=0,len=ids.length;i<len;i++){  
  13.               
  14.                 User user=new User();  
  15.                 user.setId(ids[i]);  
  16.                 user.setAge(ages[i]);  
  17.                 user.setAddress(address[i]);  
  18.                                   
  19.                 userDao.isnert(user);         
  20.             }  
  21. }  
  22. 这种方案适合特别修改删除,而且相比用js拼接数据有个好处,不用在前端拼接参数。  

方法三:json传递

客户端post 的json格式

{
    "userList": [
        {
            "user_name": "zhangsan",
            "password": "111"
        },
    {
            "user_name": "lisi",
            "password": "222"
        }
      ]
}


服务端spring mvc处理

@RequestMapping(value = "test/uppost", method = RequestMethod.POST)
    @ResponseBody
    public void uploadTest(@RequestBody UserList userList) {}


UserList类如下

public class UserList {
	private List<UserBean> userList;

	public List<UserBean> getUserList() {
		return userList;
	}

	public void setUserList(List<UserBean> userList) {
		this.userList = userList;
	}

}


UserBean类如下

public class UserBean {
	private String user_name;
	private String password;
 //get set ......
}


  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值