直接在方法上使用List<Bean>报不能实例化错误!

必须将List<Bean>放在某个对象里作为属性方可接收。具体见如下例子

前端代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>page</title>
  6. </head>
  7. <body>
  8. <h1>数组传参数测试</h1>
  9.  
  10. <script src="/webpagetest/js/jquery-2.0.3.min.js"></script>
  11.  
  12. <script type="text/javascript">
  13.  
  14. function test() {
  15. $.ajax({
  16. url:'/webpagetest/pageData',
  17. data:{
  18. 'id':1,
  19. 'order[0].column':'name',
  20. 'order[0].dir':'asc',
  21. 'order[1].column':'phone',
  22. 'order[1].dir':'desc'
  23. },
  24. success:function (rt) {
  25. alert(rt);
  26. },
  27. error:function () {
  28. alert('error');
  29. }
  30.  
  31. });
  32. }
  33.  
  34. function test2() {
  35. $.ajax({
  36. url:'/webpagetest/pageData2',
  37. data:{
  38. 'id':1,
  39. 'order[0][column]':'name',
  40. 'order[0][dir]':'asc',
  41. 'order[1][column]':'phone',
  42. 'order[1][dir]':'desc'
  43. },
  44. success:function (rt) {
  45. alert(rt);
  46. },
  47. error:function () {
  48. alert('error');
  49. }
  50.  
  51. });
  52. }
  53. </script>
  54.  
  55. <button onclick="test()">测试</button>
  56. <button onclick="test2()">测试2</button>
  57. </body>
  58. </html>

后台代码

  1. @RequestMapping("/pageData")
  2. @ResponseBody
  3. public String index(@RequestParam(value="order[0].column",required = false) String order0column,
  4. HttpServletRequest request,
  5. MyVO vo){
  6.  
  7. System.out.println("获取单个参数:");
  8. System.out.println(order0column);
  9.  
  10. System.out.println("获取所有参数:");
  11. Map<String,String[]> params = request.getParameterMap();
  12. for(Map.Entry<String,String[]> entry:params.entrySet()){
  13. System.out.println("key:"+entry.getKey()+" value:"+ Arrays.asList(entry.getValue()));
  14. }
  15.  
  16. System.out.println("获取VO");
  17. System.out.println("id:"+vo.getId());
  18. System.out.println("orders:");
  19. for(Order o:vo.getOrder()) {
  20. System.out.println("column:" + o.getColumn()+" dir:"+o.getDir());
  21. }
  22.  
  23. return "ok";
  24. }
  25.  
  26. @RequestMapping("/pageData2")
  27. @ResponseBody
  28. public String index(@RequestParam(value="order[0][column]",required = false) String order0column,
  29. HttpServletRequest request /*,
  30. MyVO2 vo2*/){
  31.  
  32. System.out.println("获取单个参数:");
  33. System.out.println(order0column);
  34.  
  35. System.out.println("获取所有参数:");
  36. Map<String,String[]> params = request.getParameterMap();
  37. for(Map.Entry<String,String[]> entry:params.entrySet()){
  38. System.out.println("key:"+entry.getKey()+" value:"+ Arrays.asList(entry.getValue()));
  39. }
  40.  
  41. // System.out.println("获取VO2");
  42. // System.out.println("id:"+vo2.getId());
  43. // System.out.println("orders:");
  44. // for(List<String> o:vo2.getOrder()) {
  45. // System.out.println("column:" + o.get(0)+" dir:"+o.get(1));
  46. // }
  47.  
  48. return "ok";
  49. }

两个实体对象(必须是独立的文件中的类,否则一直报找不到构造函数的错误)

  1. public class MyVO{
  2.  
  3. private int id;
  4.  
  5. private List<Order> order = new ArrayList<Order>();
  6.  
  7. public int getId() {
  8. return id;
  9. }
  10.  
  11. public void setId(int id) {
  12. this.id = id;
  13. }
  14.  
  15. public List<Order> getOrder() {
  16. return order;
  17. }
  18.  
  19. public void setOrder(List<Order> order) {
  20. this.order = order;
  21. }
  22. }
  1. public class Order{
  2. private String column;
  3. private String dir;
  4.  
  5. public String getColumn() {
  6. return column;
  7. }
  8.  
  9. public void setColumn(String column) {
  10. this.column = column;
  11. }
  12.  
  13. public String getDir() {
  14. return dir;
  15. }
  16.  
  17. public void setDir(String dir) {
  18. this.dir = dir;
  19. }
  20. }

springmvc接收数组类型参数的更多相关文章

  1. springMVC 接收数组参数,mybatis 接收数组参数,mybatis批量插入/批量删除案例

    案例是给一个用户赋予多个权限,多个权限用其对应的主键 id 为参数,组成了 一个id数组,传给springMVC,然后springMVC传给mybatis,然后mybatis批量插入.其实类似的场景还 ...

  2. Springmvc接收数组参数

    Springmvc接收数组参数,必须添加@RequestParam注解 注解格式@RequestParam(value="前端参数名[]") 示例: controller端的代码 ...

  3. springmvc接收date类型参数

    springmvc在表单提交接收date类型参数的时候会报错:Cannot convert value of type [java.lang.String] to required type [jav ...

  4. ajax传数组到后台,后台springmvc接收数组参数

    var   ids= new Array();  $("input[class='detailCheck']:checked").each(function(i,k){   var ...

  5. angularJS前台传list数组,后台springMVC接收数组

    有时候需要在前台自定义对象,然后把对象封装在list中,在传送到后台,这样的思想也比较合理 1. 前台代码 $scope.saveScore = function () { $scope.userSc ...

  6. springmvc接收数组方式总结

    1.接受正常的数组 如param1=aaa&param1=bbb&param1=3 对于这种,在实体参数中,使用String param1[] 这种参数既可以获取数组的值 2.接受数组 ...

  7. 【blog】SpringMVC接收数组

    页面 var idsArray = new Array(); idsArray.push(userId); SpringMVC @RequestParam(value = "ids[]&qu ...

  8. springmvc接收前台(如ajax)传来的数组list,set等图文详解

        ref:https://blog.csdn.net/wabiaozia/article/details/50803581 前言: 相信很人都被springmvc接收数组问题折磨过,查过几个解决 ...

  9. spring mvc接收数组

    (一)前言 对于springmvc接收数组的问题啊,我试验过几次,但是了有时候成功了,有时候失败了,也不知道为啥的,然后现在又要用到了,所以打算具体看看到底怎么回事,但是了我实验成功了顺便找了好多资料 ...

随机推荐

  1. Python3入门(七)——模块

    在Python中,一个.py文件就称之为一个模块(Module).(例如main.py就称之为main模块) 为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package). ...

  2. 从零开始学cookie(个人笔记)——一

    未完待续 参考链接 : cookie (储存在用户本地终端上的数据) 关键词: cookie session HTTP 小文本文件 解释 Cookie 是由 Web 服务器保存在用户浏览器上的小文本文 ...

  3. python 字符串的split()函数详解

    split翻译为分裂.  split()就是将一个字符串分裂成多个字符串组成的列表. split()当不带参数时以空格进行分割,当代参数时,以该参数进行分割. //---当不带参数时 example: ...

  4. mfc c++字符串类与 流输出

    一.命名空间 所谓命名空间(namespace),是指标识符的各种可见范围.C++标准程序库中的所有标识符都被定义于一个名为std的命名空间(namespace)中.而我们要使用的string类也是一 ...

  5. python 回溯法 子集树模板 系列 —— 13、最佳作业调度问题

    问题 给定 n 个作业,每一个作业都有两项子任务需要分别在两台机器上完成.每一个作业必须先由机器1 处理,然后由机器2处理. 试设计一个算法找出完成这n个任务的最佳调度,使其机器2完成各作业时间之和达 ...

  6. Spring+SpringMVC+MyBatis整合基础篇(二)牛刀小试

    前言 承接上文,该篇即为项目整合的介绍了. 废话不多说,先把源码和项目地址放上来,重点要写在前面. 项目展示地址,点这里http://ssm-demo.13blog.site,账号:admin 密码: ...

  7. .NET Core容器化开发系列(一)——Docker里面跑个.NET Core

    前言 博客园中已经有很多如何在Docker里面运行ASP.NET Core的介绍了.本篇主要介绍一些细节,帮助初学的朋友更加深入地理解如何在Docker中运行ASP.NET Core. 安装Docke ...

  8. identityServer4 中的概念(Scope,claim)

    在IdentityServer中好多地方出现这几个词,这单词的解释也有好多大神解释过: chaim: ASP.NET Core 之 Identity 入门(一),这个是asp.net identity ...

  9. Asp.Net_Mvc3.5语法_<%%>的用法

    一. <%%>这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或 者javascript代码,而在asp.net中用的是.net平台下支持的语言.特别 注意:服务 ...

  10. Python+opencv 图像拼接

    1.http://www.cnblogs.com/skyfsm/p/7411961.html ,给出了很好地拼接算法实现 2.由于不是Python的,所以简单做了一些翻译转成Python+opencv ...