controller中方法的返回值类型
Object、String、ModelAndView、void
ModelMap、Map、void、map、List、Set...
(用的最多的还是:Object、String、ModelAndView、void)
void:
返回值类型为void时:则只是纯粹的执行了方法中的程序,然后响应的url依然为请求的url
例如案例中请求为index.do 则响应的url为 index 在视图解析器解析之后得到的最终的url为 /WEB-INF/jsp/index.jsp
跟Servlet的方式就差不多了
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接收页面数据使用编码过滤器
ModelAndView:
返回值类型为ModelAndView时:model是携带到页面的数据 View是视图
例:
@RequestMapping("/threadRequest*") public ModelAndView threadRequest(){ ModelAndView mv=new ModelAndView(); mv.setViewName("index"); //视图 mv.addObject("user","王五"); //数据 return mv; }
Object:
返回值类型为Object时:
1.当方法返回值为Null时,默认将请求路径当做视图 /jsp/thread/secondRequest.jsp 如果说没有试图解析器,如果返回值为Null携带数据只能用JSON
2.当方法返回值为String类型字符串时,就是视图的逻辑名称
3.当返回对象或者集合数据时,要使用Json格式字符串,可选fastJson手动转换,也可以使用jackson自动转换
STM32 F4 General-purpose Timers for Periodic Interrupts
Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式
Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块
查看SQL Server服务运行帐户和SQL Server的所有注册表项
Pycharm使用技巧(转载)
SQL Server 2014内存优化表的使用场景
Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和输入流 捕获sys.exit()调用 optparse argparse
Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数
Python第六天 类型转换