关于SpringMVC完成ajax功能
/* $.post("ajax/Ajax1",{"name":"张三"},function(data){
$.each(data,function(i,a){
alert(a.name)
})
}) */
$.post("ajax/Ajax2",{"name":"张三"},function(data){
alert(data)
})
1.加入jsckson的jar包
2.在响应方法上加上@ResponseBody 把java对象转化为json对象。
3.方法的返回值可以返回的可以是对象集合也可以是字符串
@Controller
@RequestMapping(value="ajax",produces = {"text/html;charset=utf-8"})
public class AjaxController {
@RequestMapping("Ajax1")
@ResponseBody
public List<User> Ajax1(String name) {
User user1=new User("张三1","1232",12,"hi");
User user2=new User("张三2","1232",12,"hi");
User user3=new User("张三3","1232",12,"hi");
User user4=new User("张三4","1232",12,"hi");
List<User> list=new ArrayList<User>();
list.add(user1);
list.add(user2);
list.add(user3);
list.add(user4);
return list;
}
@RequestMapping("Ajax2")
@ResponseBody
public String Ajax2(String name) {
return "张三";
}
}
其中重要的是ajax返回的为字符串,那么就会出现乱码的情况以下提供俩种解决方法
1.@RequestMapping(value="ajax",produces = {"text/html;charset=utf-8"})
2在配置资源的地方加入下面代码
.
这种方法主要是根据SpringMVC的源码里面通过org.springframework.web.servlet.view.InternalResourceViewResolver这种方法的有参构造函数进行设置编码