由于该项目必须提交一个表单,其中多个对象,更好的方法是直接通过在控制器方法参数的数组。

因为Spring mvc框架在反射生成控制方法的參数对象的时候会调用这个类的getDeclaredConstructor方法来获得构造函数, 可是一直报NoSuchMethodException的异常。

依据这种方法的jdk文档,这个类是一个数组对象时,这种方法会抛出java.lang.NoSuchMethodException,由于接口、数组类、void、基本类型没有构造函数。

同事后来给我支了两招,使用ArrayList来取代原生数组,或者使用DTO来封装一下原生的数组,Spring mvc就行找到这个參数的构造函数了。

@RequestMapping(value={"xxx"}, method = RequestMethod.POST)
public String foo(ArrayList<Bar> bars){param.get(0);
}
class BarArray{Bar[] bars;public Bar[] getBars(){return bars;}public void setBars(Bar[] bars){this.bars = bars;}
}
@RequestMapping(value={"xxx"}, method = RequestMethod.POST)
public String foo(ArrayList<Bar> bars){param.get(0);
}

前台的话能够通过bars[0].name=xxx 这种方式来提交表单。

另一点是原始类型的数组不必要这样做,因为我们并不需要一个构造函数。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/yxwkf/p/4731681.html

spring mvc 控制器方法传递一些经验对象的数组相关推荐

  1. 编写 Spring MVC 控制器的 14 个技巧

    欢迎关注方志朋的博客,回复"666"获面试宝典 通常,在Spring MVC中,我们编写一个控制器类来处理来自客户端的请求.然后,控制器调用业务类来处理与业务相关的任务,然后将客户 ...

  2. requestmapping默认是get还是post_编写Spring MVC控制器的14个技巧,你今天get到了吗?...

    Java面试笔试面经.Java技术每天学习一点 公众号Java面试 关注我不迷路 原文:http://dzone.com/articles/14-tips-for-writing-spring-mvc ...

  3. Spring MVC控制器的单元测试:“普通”控制器

    本教程的第一部分描述了如何配置使用Spring MVC Test框架的单元测试. 现在是时候动手做,学习如何为"常规"控制器编写单元测试了. 显而易见的下一个问题是: 什么是普通控 ...

  4. Spring MVC控制器的单元测试:REST API

    Spring MVC提供了一种创建REST API的简便方法. 但是,为这些API编写全面而快速的单元测试一直很麻烦. Spring MVC测试框架的发布使我们可以编写可读,全面且快速的单元测试. 这 ...

  5. Spring MVC控制器的单元测试:配置

    传统上,为Spring MVC控制器编写单元测试既简单又成问题. 尽管编写调用控制器方法的单元测试非常简单,但问题是这些单元测试不够全面. 例如,我们不能仅通过调用已测试的控制器方法来测试控制器映射, ...

  6. 吐血整理!14个编写Spring MVC控制器的实用小技巧

    全文共4248字,预计学习时长9分钟 编写Spring MVC控制器的最佳技巧 本文介绍了编写Spring MVC框架的控制器(controller)的基础技巧和最佳操作.在Spring MVC框架中 ...

  7. mvc jquery ajax方法,asp.net mvc-如何在jQuery $ .ajax()中将模型发送请求到MVC控制器方法...

    asp.net mvc-如何在jQuery $ .ajax()中将模型发送请求到MVC控制器方法 在使用以下代码进行自动刷新时,我假设执行发布后,模型将自动发送给控制器: $.ajax({ url: ...

  8. Spring Controller – Spring MVC控制器

    Spring Controller annotation is a specialization of @Component annotation. Spring Controller annotat ...

  9. php获取控制器返回,从php中的mvc控制器方法返回一个json值

    我想从mvc控制器方法获取json类型值.一切都是正确的但是出现错误'. 我的jquery ajax函数: function user_login(uname,pass){ $.ajax({ url: ...

最新文章

  1. gp338信令_对讲机的问题1gp338在按ptt键讲话时,如何加入mdc12 爱问知识人
  2. mysql定义结束_mysql自定义开始结束日,以周为维度
  3. linux命令:sudo浅谈
  4. 1356. Sort Integers by The Number of 1 Bits 根据数字二进制下 1 的数目排序
  5. 殷墟 太行山 红旗渠
  6. python模拟session_python使用requests.session模拟登录
  7. vba把图片转成二进制_70多岁日本老人用Excel画画,我用VBA将图片转成标注图
  8. 【谷歌浏览器】扫码登录不上解决方案
  9. 登录服务器手机验证码不正确,解决织梦后台登录一直提示验证码不正确的方法...
  10. ae怎么输入竖排文字? ae文字竖排的方法
  11. 木瓜移动每日出海快讯0428:谷歌发布Q1财报
  12. 【JavaScript】用原生js实现幻灯片效果
  13. 因为相信所以看见,既然看见注定坚信《7》
  14. 入手评测AMD锐龙r7 6800u和酷睿i7 1260p选哪个 r76800u和i71260p对比
  15. 云主机磁盘存储动态扩容(LVM)方案
  16. 子组件调用父组件中方法的方法
  17. tk.mybatis的批量插入扩展
  18. 申宝简述5G板块走强
  19. 如何在苹果手机上安装自制的AD证书
  20. 联想小新14Pro Ubuntu20.04 键盘失灵

热门文章

  1. map和foreach的区别和应用场景_支付宝小程序和微信小程序,两者有何区别?
  2. linux fork 目录,linux fork()理解
  3. 计算机英语考试试题一附答案,计算机英语考试试题一附答案
  4. cmake开发环境 linux qt_一步步搭建CMake+QT+VTK+BOOST开发环境
  5. Java测试List<Object>根据其某个属性去重俩种方法效率
  6. LabVIEW纹理分析(基础篇—9)
  7. (2017年11月)天池医疗AI大赛肺部结节智能诊断在线分享
  8. keras 的 example 文件 neural_doodle.py 解析
  9. E:By Elevator or Stairs? CF595 DP最短路
  10. Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.解决方案