在使用springmvc的時候,有時候我們需要form能提交多個對象,比如我們要上火車,一個使用者需要一張票,在設計的時候使用者類裡面有一個屬性是票務(Tickets),在form表單提交的時候需要同時提交使用者資訊和票務資訊,我實驗了幾次,發現了一種解決辦法,這個辦法應該是spring設計人員已經考慮了的
form.jsp:
<form:form modelAttribute="userInfo,tickets" action="enter" method="post" id="enterForm">
<label for="phone">手機號:</label>
<input type="text" name="userInfo.phone" id="phone" value="" />
<label for="trainNumber">車次:</label>
<input type="text" name="tickets.trainNumber" id="trainNumber" value="" />
</form:form>
--------------------------------------------------------------------------------------------------------------------------------------------------------
FormController.java
@RequestMapping(value="/",method=RequestMethod.GET)
public ModelAndView setForm(Model model){
model.addAttribute("userInfo",new UserInfo());
model.addAttribute("tickets",new Tickets());
return new ModelAndView("index");
}
@RequestMapping(value="/enter",method=RequestMethod.POST)
public ModelAndView enter(@ModelAttribute("userInfo") UserInfo userInfo,@ModelAttribute("tickets") Tickets tickets){
userInfo.setTickets(tickets);
return new ModelAndView("main");
}
通過這種方式就可以達到提交多個form的目的。