@ResponseBody使用
@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML
数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。
@Controller
//标记自己controller的名字
@RequestMapping("/admin.do")
public class test {
@ResponseBody
//标记服务的方法名
@RequestMapping(params="method=test")
public User login(){
String str="返回string串"
return str;//一般return返回的话是直接找jsp页面的,但由于此处使用@ResponseBody则返回str数据流,不跳转页面。
}
那么在前台接收到的数据为:"返回string串"
效果等同于如下代码:
@RequestMapping(params="method=test")
public void login(String str, HttpServletResponse response){
PrintWriter out=response.getWriter();
out.write(JSON.toJSONString(str));
}
}