list类型的参数,接收前台的数组值,实验了一下,结果还真可以。
不用绑定到对象里面。
当然我这个是前台传递了个包含的是string的数组到后台,然后,后台用list来接收。
具体如下:
前台代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
//发送请求到后台,带数组形式的数据。
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;
}
|
后台代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
//方式一,用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要和前台的数据一模一样。
总结
以上就是本文关于springMVC前台传数组类型,后台用list类型接收实例代码的全部内容,希望对大家有所帮助。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://blog.csdn.net/qq_27093465/article/details/52094112#comments