SpringMVC 接收前台传过来的数组的几种方式

  • springmvc @RequestParam 接收数组

           设置 @ReqeustParam 中的 value, 比如:

           @RequestParam(value = "books[]",required = false) List books
            其实这个比较有趣,实际上浏览器传递数组的时候,名称正好就是变量名[]的形式,但由于java中的变量名不能带[]这种               符号,所以只能在value中声明一下了

  • 前端将数组转成字符串,每个元素之间用「逗号」分隔. 比如

ids=['1','2','3'];
var idsStr= ids.join(); // 变成逗号分隔的字符串
(idsStr = "1,2,3")

         可以直接将 idsStr 传到后台,后台用String[] idsStr 接收即可

  • 占位符方式传递

       前台代码

//声明数组
var arr = [];
//获取被选中的复选框的值
$("input[name='product']:checked").each(function () {
    arr.push($(this).val());
});
//ajax请求
$.post(".../.../handler/" + arr,
         {"其他需要传递的参数名":'123'},
       function(result){
       }
);

后台代码

@RequestMapping("/delProduct/{arr}")
public ResultModel test(@PathVariable("arr") Integer[] arr,
                        String 其他需要传递的参数名) {
} 
  

 

你可能感兴趣的:(JAVA,框架,SpringMVC)