Spring接收List型参数

第一种形式:

提交的数据形式:id=1,2,3 --> urlEncoding -->  id=1%2C2%2C3

1     <form method="post" action="http://localhost/ExamOnline/page/test/list2">
2         
3         id<input type="text" name="id"><br/>
4         id<input type="text" name="id"><br/>
5         id<input type="text" name="id"><br/>
6         <input type="submit">
7     </form>

服务器可以对其进行接收用List或者字符串(List接收时,@RequestParam("id") 必不可少,不然报错)

List接收:

1     @RequestMapping("/test/list1")
2     @ResponseBody
3     public String testlist(@RequestParam("id") List<Integer> ids) {
4         
5         for (Integer integer : ids) {
6             System.out.println(integer);
7         }
8         return "ok";
9     }

字符串接收:

1     @RequestMapping("/test/list2")
2     @ResponseBody
3     public String testlist(String id) {
4         
5             System.out.println(id);
6         return "ok";
7     }

第二种形式:

提交数据格式:ques[0].id=1&ques[0].title=1&ques[1].id=2&ques[1].id=2 --> UrlEncoding转码 --> 省略

表单:

 1     <form method="post" action="http://localhost/ExamOnline/page/test/list3">
 2         
 3         id<input type="text" name="ques[0].id"><br/>
 4         name<input type="text" name="stu[0].title"><br/>
 5         id<input type="text" name="ques[1].id"><br/>
 6         name<input type="text" name="stu[1].title"><br/>
 7         id<input type="text" name="ques[2].id"><br/>
 8         name<input type="text" name="stu[2].title"><br/>
 9         <input type="submit">
10     </form>

后台:通过一个Bean封装进去

 1     @RequestMapping("/test/list3")
 2     @ResponseBody
 3     public String testpojolist(RequestModel bean) {
 4         
 5         for (Question q : bean.getQues()) {
 6             System.out.println(q.getTitle());
 7         }
 8     
 9         return "ok";
10     }
 1 //get、set函数必不可少,反射必用
 2 public class RequestModel {
 3 
 4     private List<Question> ques;
 5     public List<Question> getQues() {
 6         return ques;
 7     }
 8     public void setQues(List<Question> ques) {
 9         this.ques = ques;
10     }
11 
12 }

第三种形式:

前台提交json格式的数据,后台使用@RequestBody List<XX> 接收即可,js转换json数据不太方便,省略

原文地址:https://www.cnblogs.com/webyyq/p/9122688.html