AJAX-弹簧控制器-JSP [英] AJAX - Spring Controller - JSP
问题描述
我想向Spring MVC控制器生成AJAX(基于jQuery)请求,并将带有对象的Collection返回给jsp. 我有两个麻烦: 1. AJAX成功块不起作用(某些数据类型); 2.不知道如何向jsp显示此对象.
I want generate AJAX (based on jQuery) request to Spring MVC controller and return Collection with objects to jsp. I have two troubles: 1. AJAX success block doesn't work (something with data type); 2. Don't know how to display this objects to the jsp.
<c:forEach items="${objects}" var="object">
size : <c:out value="${object.size}" />
</c:forEach>
^ 该代码无效.
我的AJAX请求:
function AJAXItemRequest(name, surname) {
$.ajax({
type : "POST",
dataType: "json",
url : "/pages/users",
data : {name: nameValue, surname: surnameValue},
success : function(data) {
alert('success');
}
});
}
Spring MVC控制器
Spring MVC Controller
@RequestMapping(value = "/users", method = RequestMethod.POST)
public ModelMap userHandler(ModelMap model, HttpServletRequest request, @RequestParam("name") String nameValue, @RequestParam("surname") String surnameValue ) throws Exception {
Collection<Users> users = findConnectedUsers(name, surname);
model.addAttribute("objects", users);
return model;
}
此外,AJAX请求有效,并且控制器成功返回模型Collection.
Also, AJAX request works and controller successfully returns model Collection.
推荐答案
这不起作用, 要将Ajax与Spring一起使用,应使用respose body而不是ModelView
This is not working , To use Ajax with Spring you should use respose body and not ModelView
@RequestMapping(value="/searchAlluserByQuery.do", method = RequestMethod.POST,headers="content-type=application/json")
@ResponseBody public List<Object> searchAlluserByQuery(@RequestBody String query) {
return serachService.getListByqueryContains(query);
}
别忘了在课程路径上有jackson.jar 并且在视图层Jstl不适用于ajax! 您应该使用Java脚本框架如jquery 获取Json对象
Don't forget have jackson.jar on your class path and in view layer Jstl not working for ajax! you should use java script frame work such jquery to get Json object
这篇关于AJAX-弹簧控制器-JSP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!