我最初嘗試在Spring控制器上使用Spring表單標籤和Validation來提交表單數據。由於我不得不更新JSP頁面中的div,我不認爲我可以使用這種技術。所以我正在嘗試使用AJAX調用。以下是我迄今爲止使用Spring的AJAX調用形式
主要由JSP頁面(main.jsp中)
<div id="header">...</div>
<div id="content">
<div id="info1">....</info">
<div id="info2">
<%@ include file="/WEB-INF/jsp/myForm.jsp" %>
</div>
<div id="info3">...</div>
...
</div>
<div id="footer">...</div>
JSP頁面(myForm.jsp)
<form:form action="/postFormData.htm" commandName="myEntryForm">
//All inputs using <form:input> tags
</form:form>
Spring MVC的控制器
的代碼片段@RequestMapping(value = "/telephone/sendMemberEntryEmail.htm", method = RequestMethod.POST)
public ModelAndView doSomeWork(Model model, @Valid MyEntryForm myEntryForm, BindingResult result) {
if(result.hasErrors()) {
return new ModelAndView("myForm", "myEntryForm", myEntryForm);
}
return new ModelAndView("successPage");
}
所以我在這裏試圖發送響應(錯誤或成功)到div命名info2。我正面臨的問題是,因爲我正在使用操作,它正在更新整個主頁和響應。
因此,我正在考慮做AJAX調用,但我不知道如何收集表單數據併發送給控制器。我無法發送每個字段作爲參數,因爲我有許多字段和相關字段的集合。我想使用MyEntryForm對象發送ti。
請建議。
嘗試使用form.serialize()並參閱。您的控制器也必須更改以返回數據而不是MAV。查看@ResponseBody註釋以返回數據。 – minion 2015-02-10 20:39:09