springMVC中前端传入数组对象属性接收

项目中有个获取地域信息的方法。之前默认传入0,查询中国下一级的全部地名。-1属性有且仅有一个地名是中国。但是客户要求在地域信息的时候必须要含有中国。之前在springMVC中我们使用对象来直接解析传进来的参数。之前传入数组都是单个输入一个String类型,逗号分隔。到后台进行分隔。然后封装为list集合去查询。我想既然对象中普通的String类型能够接收。直接再实体类里面创建一个数组属性。前端直接赋值如何。请求的参数如下。

$.ajax({
    url : ******,
    type : 'POST',
    data : {
        parentIds : new Array(-1,0)
    },
    success : function (data) {
        doSomeing();
    },
    error : function(e){
        wbAlert("获取限制区域出错,请返回重试","warning",3000);
    }
});


请求时直接报了错。参数封装不到对象属性里面。看请求的属性键值后面都跟了[]符号。把对象撤掉,直接使用键名接收能够接收到

@RequestMapping(value = "/wbRegion", method = RequestMethod.POST)
    @ResponseBody
    public List<WbRegion> wbRegion(@RequestParam(value = "parentIds[]") Double[] parentIds) throws SQLException {
        List<WbRegion> list = new ArrayList<WbRegion>();
        ......
        return list;
    }

这样我又不能把parentIds[]封装到对象的属性里面去。所以去网上找资料,耗费了挺长时间,找到一个请求方式,能够将数组封装到对象里面

$.ajax({
    url : ***,
    type : 'POST',
    traditional : true,//阻止深度序列化
    data : {
        status : false,
        parentIds : new Array(-1,0)
    },
    success : function (data) {
       dosomeing();
    },
    error : function(e){
        wbAlert("获取限制区域出错,请返回重试","warning",3000);
    }
});

这样的话,请求时候的参数没有后面的[]。在对象里面使用一个list属性能够接收的到。

转载于:https://my.oschina.net/u/3614139/blog/3031924

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值