关于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这种方法的有参构造函数进行设置编码