Springmvc受信集合パラメータ、集合オブジェクト
3871 ワード
Spring MVCは、集合要求パラメータを受信する場合、Controllerメソッドの集合パラメータに@RequestBodyまたは@RequestParamを追加する必要があり、@RequestBodyがデフォルトで受信するenctype(MIME符号化)はアプリケーション/jsonであり、したがって、POST要求を送信する際には、要求メッセージヘッダ情報(ajaxがデータを送信する際の設定コミットタイプ:contentType:'application/json;charset=utf-8'、//要求ヘッダ情報の設定)を設定する必要があります.そうしないと、Spring MVCは、集合要求パラメータを解析する際に自動的にJSONデータに変換して対応する集合に解析しません.
本稿では,List,List,List>,User[],User(beanにはListが含まれる)のいくつかの複雑な集合パラメータの例について述べる.
eg 1:List集合パラメータの受信
1、Jsコード:
2、Controller方法:
eg 2:List,User[]集合パラメータを受信する:
1、jsコード
2、Controller方法:
eg 3:受信List>集合パラメータ
1、jsコード
2、Controller方法:
eg 4:Userエンティティークラス
1、jsコード
2、Controller方法:
本稿では,List,List,List>,User[],User(beanにはListが含まれる)のいくつかの複雑な集合パラメータの例について述べる.
eg 1:List集合パラメータの受信
1、Jsコード:
var arr = [1,2,3];
$.jBox.confirm(" ?", "warning",function () {
$.ajax({
type: 'get',
url: '${base.contextPath}/giving/index/del',
dataType: 'json',
data: {ids: arr},
success: function (result) {
…
},
error: function (result) {
…
}
})
})
2、Controller方法:
@Controller
@RequestMapping("/wxgiving")
public class WxGivingController{
@RequestMapping(value = "/index/del", method = RequestMethod.GET)
@ResponseBody
public ReturnMsg del (@RequestParam(value = "ids[]")List ids){
…
}
}
eg 2:List,User[]集合パラメータを受信する:
1、jsコード
var userList = new Array();
userList.push({name: " ",pwd: "123"});
userList.push({name: " ",pwd: "223"});
$.ajax({
type: "POST",
url: "${base.contextPath}/user/index/add",
data: JSON.stringify(userList),// JSON
dataType:"json",
contentType : 'application/json;charset=utf-8', //
success: function(result){
…
},
error: function(result){
…
}
});
2、Controller方法:
@Controller
@RequestMapping(value = "/user")
public class UserController(){
@RequestMapping(value = "/index/add", method = RequestMethod.POST)
@ResponseBody
public ReturnMsg addOrEdit(@RequestBody List userList) {
…
}
}
eg 3:受信List>集合パラメータ
1、jsコード
var userList = new Array();
userList.push({name: " ",pwd: "123"});
userList.push({name: " ",pwd: "223"});
$.ajax({
type: "POST",
url: "${base.contextPath}/user/index/add",
data: JSON.stringify(userList),// JSON
dataType:"json",
contentType : 'application/json;charset=utf-8', //
success: function(result){
…
},
error: function(result){
…
}
});
2、Controller方法:
@Controller
@RequestMapping(value = "/user")
public class UserController(){
@RequestMapping(value = "/index/add", method = RequestMethod.POST)
@ResponseBody
public ReturnMsg addOrEdit(@RequestBody List
eg 4:Userエンティティークラス
1、jsコード
var userArray= new Array();
userArray.push({name: " ",pwd: "123"});
userArray.push({name: " ",pwd: "223"});
var user = {};
user.name = " ";
user.pwd = "888";
user.userList= userArray;
$.ajax({
type: "POST",
url: "${base.contextPath}/user/index/add",
data: JSON.stringify(user),// JSON
dataType:"json",
contentType : 'application/json;charset=utf-8', //
success: function(result){
…
},
error: function(result){
…
}
});
2、Controller方法:
@Controller
@RequestMapping(value = "/user")
public class UserController(){
@RequestMapping(value = "/index/add", method = RequestMethod.POST)
@ResponseBody
public ReturnMsg addOrEdit(@RequestBody User user) {
List userList= user.getUserList();