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

首頁 > 編程 > JavaScript > 正文

spirngmvc js傳遞復(fù)雜json參數(shù)到controller的實例

2019-11-19 14:05:41
字體:
供稿:網(wǎng)友

Spring MVC在接收集合請求參數(shù)時,需要在Controller方法的集合參數(shù)里前添加@RequestBody,而@RequestBody默認接收的enctype (MIME編碼)是application/json,因此發(fā)送POST請求時需要設(shè)置請求報文頭信息,否則Spring MVC在解析集合請求參數(shù)時不會自動的轉(zhuǎn)換成JSON數(shù)據(jù)再解析成相應(yīng)的集合。

以下列舉接收List<String>、List<User>、List<Map<String,Object>>、User[]、User(bean里面包含List)幾種較為復(fù)雜的集合參數(shù)示例:

接收List<String>集合參數(shù):

1、頁面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方法:

@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[]集合參數(shù):

1、User實體類:

public class User {   private String name;  private String pwd;  //省略getter/setter } 

2、頁面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', //設(shè)置請求頭信息  success: function(data){   …  },  error: function(res){   …  } }); 

3、Controller方法:

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

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

接收List<Map<String,Object>>集合參數(shù):

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

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', //設(shè)置請求頭信息  success: function(data){   …  },  error: function(res){   …  } }); 

2、Controller方法:

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

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

1、User實體類:

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

2、頁面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', //設(shè)置請求頭信息  success: function(data){   …  },  error: function(res){   …  } }); 

3、Controller方法:

@Controller @RequestMapping("/catalog.do") public class CatalogController {   @RequestMapping(params = "fn=saveUsers")  @ResponseBody  public AjaxJson saveUsers(@RequestBody User user) {   List<User> customers = user.getCustomers();   …  } } 

以上這篇spirngmvc js傳遞復(fù)雜json參數(shù)到controller的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 丹棱县| 泰安市| 双流县| 五河县| 获嘉县| 精河县| 台江县| 汕尾市| 雷州市| 阜城县| 英吉沙县| 长子县| 邹平县| 滦南县| 东宁县| 淮北市| 青海省| 云南省| 义乌市| 定兴县| 洪洞县| 宁化县| 迭部县| 台安县| 临高县| 宿迁市| 石台县| 象山县| 堆龙德庆县| 巴东县| 汉寿县| 康乐县| 花莲县| 阜城县| 高安市| 嘉荫县| 南丹县| 黔南| 喀喇沁旗| 安徽省| 鸡东县|