springMVC中复杂嵌套对象、List等集合类型数据绑定 接收对象数组


目录:

  1. 概述
  2. 实现方法及测试

[一]、概述

继前面一篇 springMVC 页面中多个对象的数据绑定 ,本文主要介绍如果实现复杂类型对象的数据绑定,比如前文中的父级对象CourseInfo 中增加:String[] times , List<Student> studentList 这两个复杂类型属性,页面中数据如何才能准确绑定到对象上呢?

[二]、实现方法及测试

CourseInfo.java 修改成如下:

Student.java :

view 层页面修改成如下:

注意:复杂对象在页面元素中各属性的定义规则。

controller 对应的 CourseAction.java  实现修改成如下:

controller中的部分方法省略,这里主要测试下页面数据绑定的结果,测试过程如下:

表单输入内容如下图:

 

提交后,控制台输出日志如下:

从日志中可以看出:不管是string数组对象times 还是复杂列表对象 studentList,数据绑定准确无误。

本文介绍到此结束@Michael Sun.

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/j2ee/spring/springmvc-view-complex/

 

 

 

 

 

pring mvc 接收对象数组
开发中遇到这种需求,需要在后台接收一个对象数组进行添加。 比如添加明细信息。 请问在后台spring mvc 如何接收对象数组,前台通过ajax请求或者 easyUI的 form表单 提交数据都可以。

------解决方案--------------------------------------------------------
input中的name都相同,在后台,用

String[] names = request.getParameterValues("name");// 名称
String[] moneys = request.getParameterValues("money");// 密码
.....N行,N=对象中的属性的个数

然后写个for循环,按照其中一个数组来循环,
for (int i = 0; i < names.length; i++) {
先new对象,然后根据属性一次赋值,这些数组中的属性和前台的顺序是一致的
}
------解决方案--------------------------------------------------------
将数组包装一下

比如你要接收一个Bank类型的数组,那么先建一个类
class BankArray{
private Bank banks[] ;

public void setBanks(Bank[] banks) {
this.banks = banks;
}

public Bank[] getBanks() {
return banks;
}
}

//用 BankArray 作参数
@RequestMapping(value ="xxx" , method = RequestMethod.POST)
public ModelAndView doLogOut(BankArray param){ }

/* 页面用下面的方式 */
<input name="banks[0].name" value="name1" />
<input name="banks[0].address" value="address1" />

<input name="banks[1].name" value="name2" />
<input name="banks[1].address" value="address2" />

<input name="banks[2].name" value="name3" />
<input name="banks[2].address" value="address3" />

 

P2P项目中测试确实可以,备忘


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM