springboot前端向后端传递复杂对象如list set的接收问题

mac2022-06-30  18

 转自: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要和前台的数据一模一样。

————————————————版权声明:本文为博主「李学凯」的原创文章,遵循 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类型接收也是可以的

博客内容均为本人学习记录,不保证一定正确,如果错误,欢迎指正。

转载于:https://www.cnblogs.com/linwenbin/p/11447942.html

最新回复(0)