springMVC前台传数组类型,后台用list类型接收实例代码

springMVC后台处理数组对象。

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要和前台的数据一模一样。

总结

以上就是本文关于springMVC前台传数组类型,后台用list类型接收实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

SpringMVC拦截器实现监听session是否过期详解

SpringMVC开发restful API之用户查询代码详解

Spring SpringMVC在启动完成后执行方法源码解析

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

你可能感兴趣的:(springMVC前台传数组类型,后台用list类型接收实例代码)