国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

SpringMVC接收復雜集合參數

2019-11-14 11:24:27
字體:
來源:轉載
供稿:網友
SPRing MVC在接收集合請求參數時,需要在Controller方法的集合參數里前添加@RequestBody,而@RequestBody默認接收的enctype (MIME編碼)是application/json,因此發送POST請求時需要設置請求報文頭信息,否則Spring MVC在解析集合請求參數時不會自動的轉換成JSON數據再解析成相應的集合。以下列舉接收List<String>、List<User>、List<Map<String,Object>>、User[]、User(bean里面包含List)幾種較為復雜的集合參數示例:接收List<String>集合參數:

1、頁面js代碼:

  

Js代碼  收藏代碼var idList = new Array();  idList.push(“1”);   idList.push(“2”);   idList.push(“3”);  var isBatch = false;  $.Ajax({      type: "POST",      url: "<%=path%>/catalog.do?fn=deleteCatalogSchemes",      dataType: 'json',      data: {"idList":idList,"isBatch":isBatch},      success: function(data){          …      },      error: function(res){          …      }  });  

 

 2、Controller方法:

 

java代碼  收藏代碼@Controller  @RequestMapping("/catalog.do")  public class CatalogController {        @RequestMapping(params = "fn=deleteCatalogSchemes")      @ResponseBody      public AjaxJson deleteCatalogSchemes(@RequestParam("idList[]") List<String> idList,Boolean isBatch) {              …      }  }  

 

 接收List<User>、User[]集合參數:

 1、User實體類:

 

Java代碼  收藏代碼public class User {          private String name;       private String pwd;      //省略getter/setter  }  

 

2、頁面js代碼:

Js代碼  收藏代碼var userList = new Array();  userList.push({name: "李四",pwd: "123"});   userList.push({name: "張三",pwd: "332"});   $.ajax({      type: "POST",      url: "<%=path%>/catalog.do?fn=saveUsers",      data: JSON.stringify(userList),//將對象序列化成JSON字符串      dataType:"json",      contentType : 'application/json;charset=utf-8', //設置請求頭信息      success: function(data){          …      },      error: function(res){          …      }  });  

 

3、Controller方法:

Java代碼  收藏代碼@Controller  @RequestMapping("/catalog.do")  public class CatalogController {        @RequestMapping(params = "fn=saveUsers")      @ResponseBody      public AjaxJson saveUsers(@RequestBody List<User> userList) {          …      }  }  

    如果想要接收User[]數組,只需要把saveUsers的參數類型改為@RequestBody User[] userArray就行了。

 

接收List<Map<String,Object>>集合參數:

 1、頁面js代碼(不需要User對象了):

Js代碼  收藏代碼var userList = new Array();  userList.push({name: "李四",pwd: "123"});   userList.push({name: "張三",pwd: "332"});   $.ajax({      type: "POST",      url: "<%=path%>/catalog.do?fn=saveUsers",      data: JSON.stringify(userList),//將對象序列化成JSON字符串      dataType:"json",      contentType : 'application/json;charset=utf-8', //設置請求頭信息      success: function(data){          …      },      error: function(res){          …      }  });  

  

2、Controller方法:

Java代碼  收藏代碼@Controller  @RequestMapping("/catalog.do")  public class CatalogController {        @RequestMapping(params = "fn=saveUsers")      @ResponseBody      public AjaxJson saveUsers(@RequestBody List<Map<String,Object>> listMap) {          …      }  }  

 

 接收User(bean里面包含List)集合參數:

 1、User實體類:

Java代碼  收藏代碼public class User {      private String name;       private String pwd;      private List<User> customers;//屬于用戶的客戶群      //省略getter/setter  }  

 

2、頁面js代碼:

 

Js代碼  收藏代碼var customerArray = new Array();  customerArray.push({name: "李四",pwd: "123"});   customerArray.push({name: "張三",pwd: "332"});   var user = {};  user.name = "李剛";  user.pwd = "888";  user. customers = customerArray;  $.ajax({      type: "POST",      url: "<%=path%>/catalog.do?fn=saveUsers",      data: JSON.stringify(user),//將對象序列化成JSON字符串      dataType:"json",      contentType : 'application/json;charset=utf-8', //設置請求頭信息      success: function(data){          …      },      error: function(res){          …      }  });  

  3、Controller方法:

Java代碼  收藏代碼@Controller  @RequestMapping("/catalog.do")  public class CatalogController {        @RequestMapping(params = "fn=saveUsers")      @ResponseBody      public AjaxJson saveUsers(@RequestBody User user) {          List<User> customers = user.getCustomers();          …      }  } 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿克苏市| 永仁县| 信阳市| 鄂温| 盈江县| 荣昌县| 麻阳| 龙陵县| 安丘市| 大连市| 丰宁| 阿拉善右旗| 郸城县| 定兴县| 高陵县| 五莲县| 三江| 开阳县| 越西县| 红原县| 容城县| 县级市| 长沙市| 繁昌县| 深州市| 舟曲县| 信宜市| 呼玛县| 抚宁县| 石楼县| 镇平县| 遵化市| 西昌市| 阿尔山市| 兴文县| 六盘水市| 班戈县| 凤冈县| 溧水县| 武乡县| 天柱县|