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

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

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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

因为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://javaforall.net/117260.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • OpenResty 最佳实践学习–实战演习笔记(5)

    本篇整理openresty的子查询和执行阶段!子查询 capture a —> b 子查询 ,查询内部对另外一个location做了一次查询,并返回结果!调用另一个location不发htttp,相当于内部调用了一次c函数! 京东商品详情页 –openresty的capture (1)很多api (2)无法降级服务 最好只有一个API接口! 每个loca

    2022年2月26日
    73
  • ssh配置免密码登录(linux免密登录)

    由于公司的生产环境有很多台Linux的CentOS服务器,为了方便机子(假设两台机子A,B)互相之间免密ssh,scp命令操作,配置如下1.在A、B上分别创建本机的公钥和私钥,输入命令后连续三次回车ssh-keygen-trsa2.查看公私钥的文件生成情况cd~/.ssh/ls看到列表有2个文件:文件说明:id_rsa:生成的私钥文件id_rsa.pub:生成的公钥文件3….

    2022年4月14日
    34
  • matlab矩阵点乘点除,点除与矩阵除法

    matlab矩阵点乘点除,点除与矩阵除法点除与矩阵除法:在书写程序的时候,点乘和矩阵乘法写错的时候再进行程序调适的时候MATLAB会返回错误说明。但是对于点除容易出现问题,下面以一个简单的例子说明这个问题:比如我们要计算:A=[1,1];B=[2,1];C=A/B;上面的程序我们计算的是A与B的点除。但是由于疏忽而把点除“./”写为“/”这样结果是不同的,大家可以看看它们的结果:>>A/Bans=0.6000…

    2022年6月16日
    57
  • Boost.Lockfree官方文档[通俗易懂]

    Boost.Lockfree官方文档[通俗易懂]目录介绍与动机简介与术语非阻塞数据结构的性质非阻塞数据结构的性能阻塞行为的来源数据结构数据结构配置示例队列栈无等待单生产者/单消费者队列脚注介绍与动机简介与术语术语“非阻塞”表示并发数据结构,该结构不使用传统的同步原语(例如警卫程序)来确保线程安全。MauriceHerlihy和NirShavit(比较“多处理器编程的艺术”)区分了3种类型的非阻塞数据结构,每种结构具有不同的属性:如果保证每个并发操作都可以在有限的步骤中完成,则数据.

    2022年7月19日
    27
  • python怎么定义数组长度_定义定长数组

    python怎么定义数组长度_定义定长数组广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!python返回数组(list)长度的方法array=printlen(array)…如何查找二维数组中有多少行和列?例如,input=(,,])`应显示为3行和2列…所以我在python中实现了一个块交换算法。我遵循的算法是这样的:初始化a=arr…

    2025年6月3日
    2
  • Vue文件上传、下载

    Vue文件上传、下载代码示例:文件上传到接口,对接口返回的文件进行下载。<template><divclass=”hello”><h1>{{msg}}</h1><inputtype=”file”@change=”uploadFile($event)”accept=”.sql,.excel,.txt”/></div></template><script>exportdefau

    2022年6月16日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号