这里使用的是在前台发起ajax请求Handler,后台伪造数据响应给前台,
配置对应ajax请求的Handler信息如下
1 @Controller 2 public class MyController { 3 //处理器方法 4 @RequestMapping(value="/first.do",produces="text/html;charset=utf-8") 5 public void doFirst(HttpServletResponse response) throws IOException{ 6 //伪造数据 7 8 Map<String, UserInfo> map=new HashMap<String,UserInfo>(); 9 UserInfo u1=new UserInfo(); 10 u1.setAge(12); 11 u1.setName("恭喜就业"); 12 13 UserInfo u2=new UserInfo(); 14 u2.setAge(122); 15 u2.setName("顺利就业"); 16 17 map.put("001",u1); 18 map.put("002",u2); 19 20 //工具 map----json字符串 fastjson 21 String jsonString = JSON.toJSONString(map); 22 response.setCharacterEncoding("utf-8"); 23 //响应流 24 response.getWriter().write(jsonString); 25 response.getWriter().close(); 26 27 } 28 29 30 }
这里使用的是fastjson工具将map对象转换为json串,配合response参数传给前台。
该json是类似于:{"002":{"age":122,"name":"顺利就业"}} 的这类信息,
使用js代码解析:
1 $.ajax({ 2 url:"first.do", 3 success:function(data){ //data指的是从server打印到浏览器的数据 4 //jsonString jsonObject 5 //{"001":{"age":122,"name":"顺利就业"}} 6 var result= eval("("+data+")"); 7 8 } 9 });
这里推出:Spring默认的json协议解析由Jackson完成。
需要引入三个jackson的jar包
提供案例下载:05-mvc-annotation-handlerreturn-ajax
http://pan.baidu.com/s/1cpCKTS
时间: 2024-10-12 18:16:39