SpringMVC获取表单批量提交数据

关键点:封装一个JavaBean的List
原始JavaBean
public class Person {
    //省略getter、setter,Serialiable接口实现,toString(),equals(),HashCode()
    private String username;
    private String password;
    private String money;
}

封装JavaBean的另一个Bean
public class PersonListModel {
    private List<Person> personList;
    //省略相关setter、getter
}

//处理方法
@RequestMapping(value="/listPerson.do",method=RequestMethod.GET)
public ModelAndView listPersonGET() {
    //得到所有Person,封装至Model,供前台显示
    List<Person> list = personService.getAllPersons();
    ModelAndView mav = new ModelAndView("person/listPerson"); //设置视图名
    mav.addObject("list", list);  
    return mav;
}

表单jsp页面,name值需要和Controller层接收参数中的JavaBean要一致,如这里的:personList。
<form action="${bastPath}/person/listPerson.do" method="post">
<c:forEach items="${list}" var="person" varStatus="listIndex"  >
  <br/>${person.username}<br/>
  <input name="personList[${listIndex.index}].money" type="text"  value="person.money"/>

</c:forEach>
   <input name="submit" value="提交">
</form>

//使用参数PersonListModel personModel获取jsp页面表单批量提交的数据
@RequestMapping(value="/listPerson.do",method=RequestMethod.POST)
public ModelAndView listPersonPOST(PersonListModel personModel) {
    //于是表单中的personList就会set给PersonListModel 中的字段personList
    List<Person> personList = personModel.getPersonList();
    for(Person person:personList ) {   //批量修改对象的某个属性
        personService.updatePerson(person.money);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值