我需要 ajax 中的员工列表
在spring中当你需要对象序列化、反序列化和消息转换时。在这种情况下,您需要使用注释您的控制器处理程序方法@RequestBody
and @ResponseBody
.
Where:
-
@ResponseBody: 会通知spring尝试转换其返回值并自动将其写入http响应。
-
@RequestBody:将通知 spring 尝试将传入请求正文的内容动态转换为参数对象。
在你的情况下你需要 JSON 类型,你必须添加@ResponseBody
到您的方法签名或方法上方,并生成和使用哪些是可选的,例如:
@RequestMapping(value="phcheck", method=RequestMethod.GET
produces="application/json")
public @ResponseBody List<Employee> pay(@RequestParam("empid") int empid, String fdate, String tdate) {
//get your employee list here
return empList;
}
并在 AJAX 调用中使用:
-
contentType: 'application/json'
属性告诉您要发送的数据类型。和
-
dataType: json
属性告诉 jquery 将接收什么内容类型的响应。
在你的情况下contentType: 'application/json'
不需要,默认即可'application/x-www-form-urlencoded; charset=UTF-8'
足够。
您可以在 AJAX 成功中收到员工列表,对其进行迭代,如下所示:
success: function (data) {
$.each(data, function(index, currEmp) {
console.log(currEmp.name); //to print name of employee
});
},
Note: Jackson mapper http://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl or any other mapper should be available on buildpath in order to work JSON serialize and deserialize.
也可以看看:
- Spring MVC 3.1 的新特性 http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/new-in-3.1.html