spring MVC 前台传数组类型,后台用list类型接收也是可以的

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_27093465/article/details/52094112

spring MVC后台处理数组对象。

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<String> 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<String> newList = Lists.newArrayList(Arrays.asList(list));
        return new JsonResult(true,"ok ",null);
    }

注意的地方:

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

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

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






展开阅读全文

没有更多推荐了,返回首页