当前位置: 代码迷 >> Java Web开发 >> spring mvc 接收对象数组解决思路
  详细解决方案

spring mvc 接收对象数组解决思路

热度:734   发布时间:2016-04-16 21:51:37.0
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" />
  相关解决方案