java springboot 前台传数组类型,后台使用list类型接收

springboot后台处理数组对象。

前台的传递数组值参数,后台使用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 list){

    LOG.debug("---------------XxxxController: testList---------------");

    LOG.debug("---------------list:\t" + 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:\t" + list);

    List newList = Lists.newArrayList(Arrays.asList(list));

    return new JsonResult(true,"ok ",null);

}

注意的地方:

value = "list[],这个不能省,

另外你要是修改方法上的参数的话,就得重启一下,不然得不到值

这个list要和前台的数据一模一样。

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值