实现返回一段数据 - AJAX
当页面通过AJAX来访问Controller时,期望得到的不是一个页面而是一段数据,此时可以使用如下方法,直接向相应中写入数据:
/** * 直接向响应中写出数据,通常用在AJAX请求的响应中 */ @RequestMapping("/hello17.action") public void hello17(HttpServletResponse response) throws IOException{ response.getWriter().write("dcgxasygc"); } @RequestMapping("/hello18.action") public void hello18(PrintWriter writer){ writer.write("xxxxxxxxxxxxxxxxxx"); }
实现自动发送json格式数据 - AJAX
/** * 自动返回json格式的数据 * @throws IOException */ @RequestMapping("/hello19.action") public void hello19(HttpServletResponse reqsponse) throws IOException{ reqsponse.getWriter().write("{name:'zs',age:19,addr:['bj','sh','gz']}"); } @ResponseBody @RequestMapping("/hello20.action") public User hello20(HttpServletResponse response){ User user = new User(); user.setUsername("zwj"); user.setPassword("123"); user.setAge(19); Dog dog = new Dog(); dog.setName("旺财"); dog.setAge(8); user.setDog(dog); return user; }
@ResponseBody:只有有这个注解,SpringMVC会自动将返回的对象转换为Json格式写出到相应中,这在处理AJAX请求时往往非常有用。