1. 程式人生 > >SpringMVC獲取表單批量提交資料

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); } }