zoukankan      html  css  js  c++  java
  • 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: " + 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: " + 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类型接收也是可以的

    博客内容均为本人学习记录,不保证一定正确,如果错误,欢迎指正。
  • 相关阅读:
    selenium模块---操作浏览器
    mock模块学习---模拟接口返回数据
    fiddler配置和使用
    css 08-CSS属性:定位属性
    css 07-浮动
    css 06-CSS盒模型详解
    css 05-CSS样式表的继承性和层叠性
    css 04-CSS选择器:伪类
    css 03-CSS样式表和选择器
    css 02-CSS属性:背景属性
  • 原文地址:https://www.cnblogs.com/linwenbin/p/11447942.html
Copyright © 2011-2022 走看看