我最初尝试在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