微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SpringMVC接收数组参数

今天项目中需要批量删除功能

首先想的2个解决方

:方案1::将所有需要删除的数据的id拼接成一串字符串,传到后台再分割字符串,然后实现删除

 

:方案2::前端将需要删除的id存入数组对象,然后整个对象传到后台后台list接收,然后实现删除

 

终上方案的综合优势,使用了方案二;

 

首先前端使用jquery的ajax提交,后台springMVC接收参数

 

后台使用@RequestParam注解,注解中的value的参数名跟前端对应,由于是数组,后面还需要紧跟[]  如下图;

百度很多人说@RequestBody 注解也可以,经过测试,不行。@RequestBody只适用于实体类作为参数的情况;

 

 

前端ajax写法:

$.ajax({
    type : "POST",
    contentType : "application/x-www-form-urlencoded", //发送至服务器的类型
   
url: url,
      dataType : "json",
        data: {blogTypeIds:ids},
    success: function(data) {
        if (data.state == false) {
            layer.alert(data.message);
            return;
        }
        layer.alert("删除博客类型成功!!!");
      
    }
});

 

百度也有人说:contentType : "application/json" 也可行
但是经过我的实践,提交格式为json的时候后台根本获取不到参数的数据,
想穿数组类型的数据,内容类型必须是 application/x-www-form-urlencoded表单类型,而且参数不需要转换成json字符串,直接传对象至后台
 
正确的请求内容如下如:

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐