Spring MVC方法的返回值类型

一,String类型作为返回值类型

返回值类型为String时,一般用于返回视图名称
1.当方法返回值为Null时,默认将请求路径当做视图 /jsp/thread/secondRequest.jsp 如果说没有试图解析器,如果返回值为Null携带数据只能用JSON
2.当方法返回一个String的字符串时,当字符串为逻辑视图名时只返回视图,如果要携带数据则使用request,session或者Json
如果要用Model或者ModelMap传递数据,那么Model或者ModelMap绝对是方法入参
3.当方法返回值加入forward的时候代表转发,如果写为redirect:xxxx代表重定向,不是返回视图了,但是不会这样做!!!!!!

乱码解决:
1.controller传递数据给页面,在RequestMapping当中指定produces="text/json;charset=utf-8"
2.Controller接收页面数据 使用编码过滤器
method代表请求方式

 

 二,ModelAndView作为返回值类型

   ModelAndView   model是携带到页面的数据   View是视图
  1. 当返回为null时,页面不跳转。
  2. 当返回值没有指定视图名时,默认使用请求名作为视图名进行跳转。
  3. 当返回值指定了视图名,程序会按照视图名跳转。

   

 

 三,Object作为返回值类型

 1.当方法返回值为Null时,默认将请求路径当做视图  /jsp/thread/secondRequest.jsp  如果说没有试图解析器,如果返回值为Null携带数据只能用JSON
2.当方法返回值为String类型字符串时,就是视图的逻辑名称
3.当返回对象或者集合数据时,要使用Json格式字符串,可选fastJson手动转换,也可以使用jackson自动转换

 

 四,void作为返回值类型   

如果你的方法写成了void就跟原来Servlet含义是差不多的

 

 

posted on 2019-11-09 15:12  趁你还在  阅读(1579)  评论(0编辑  收藏  举报

导航