springmvc form多個物件映射 資料繫結 多個物件綁定

來源:互聯網
上載者:User

在使用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的目的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.