日期:2014-05-17  浏览次数:20740 次

spring 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" />