springboot前端向后端傳遞復雜對象如list set的接收問題


 轉自:https://blog.csdn.net/qq_27093465/article/details/52094112

https://www.cnblogs.com/yfzhou/p/9661994.html

spring MVC后台處理數組對象。

list類型的參數,接收前台的數組值,實驗了一下,結果還真可以。
不用綁定到對象里面。
當然我這個是前台傳遞了個包含的是string的數組到后台,然后,后台用list來接收。
具體如下:

前台代碼:

//發送請求到后台,帶數組形式的數據。
function testList() {
var data = getTreeViewCheckedData();
$.ajax({
url: APP_NAME + "xxxx/testList",
data: {
list:data
},
dataType: "json",
success: function (data) {
}
});
}
//獲得數據---以數組的形式存儲
function getTreeViewCheckedData() {
var checkedData = [];
$('#shareSetting').find('ol.bonsai input:checkbox:checked').each(function () {
checkedData.push($(this).val())
}
);
return checkedData;
}

后台代碼:
//方式一,用list接收前台的數組參數。
@RequestMapping(value = "/testList")
@ResponseBody
public JsonResult testList(@RequestParam(required = false, value = "list[]") List<String> list){
LOG.debug("---------------XxxxController: testList---------------");
LOG.debug("---------------list:\t" + list);
return new JsonResult(true,"ok ",null);
}

//方式二,用數組接收前台的數組參數。然后轉化成list,雖然沒必要。
@RequestMapping(value = "/testList")
@ResponseBody
public JsonResult testList(@RequestParam(required = false, value = "list[]") String[] list){
LOG.debug("---------------XxxxController: testList---------------");
LOG.debug("---------------list:\t" + list);
List<String> newList = Lists.newArrayList(Arrays.asList(list));
return new JsonResult(true,"ok ",null);
}

注意的地方:

value = "list[],這個好像不能省,

另外你要是修改方法上的參數的話,就得重啟一下,不然得不到值

這個list要和前台的數據一模一樣。


————————————————
版權聲明:本文為CSDN博主「李學凱」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_27093465/article/details/52094112

 

 

 

前端JS

復制代碼
 1 var taskList = ["123","456"];
 2 var params = {
 3     taskList: taskList
 4 };
 5 
 6 $.ajax({
 7     type: "PUT",
 8     dataType: "json",
 9     url: "/client/update",
10     data: params,
11     success: function (msg) {
12     }
13 });
復制代碼

后端接收:

1 @RequestMapping(value = "/update", method = RequestMethod.PUT)
2 @ResponseBody
3 public JSONResult updateClient(Client client, @RequestParam(value = "taskList[]") List<String> taskList) {
4     logger.debug("Yufan taskList={}", taskList);
5     return JSONResult.ok();
6 }

參考文獻:spring MVC 前台傳數組類型,后台用list類型接收也是可以的

博客內容均為本人學習記錄,不保證一定正確,如果錯誤,歡迎指正。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM