欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring MVC Controller 接收ajax的数组参数说明

程序员文章站 2022-07-15 15:38:01
...
/**
 * Created by xiongyu on 2017/5/12.
 */
$(function () {

  $("#deleteSelect").click(function () {
      .......//省略部分代码
        var res = $.ajax({
            url: "/SpringMybatis/user/deleteBySelective",
            data: {data: chk_value},
              // traditional: true, 这里的取值后面说明
            success: function () {
                console.log(res.responseText)
                loadData();
            }, error: function () {
                console.log(res.responseText)
            }
        })

    });
});
traditional默认是false,如果是false,则传递的参数为:
data[]:1
......
这里设置为true,使传递参数变成:
data:1
......

若传递的数据格式是data[]:1,则RequestParam的value是data[], 若传递的数据格式是data:1,则RequestParam的value是data,后面既可以用List接收,也可以用数组接收.
以 traditional默认值时为例,controller代码为:

 @RequestMapping(value = "deleteBySelective", produces = "text/html;charset=UTF-8;")
    @ResponseBody
    public String deleteBySelective(HttpServletRequest request, Model   model,@RequestParam(value = "data[]")String[] data) {
        System.out.println("request now is here");
        System.out.println(Arrays.asList(data));
        userService.deleteBySelective(Arrays.asList(data));
        return "whatever you like";
    }

最初的文章来自这里

我的个人博客