zoukankan      html  css  js  c++  java
  • Spring MVC方法的返回值类型

    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自动转换

  • 相关阅读:
    Qt之表单布局(QFormLayout)
    Qt之格栅布局(QGridLayout)
    Qt之水平/垂直布局(QBoxLayout、QHBoxLayout、QVBoxLayout)
    Qt之手动布局
    MAC OS下JDK版本切换指南
    Qt之自定义布局管理器(QBorderLayout)
    Qt之自定义布局管理器(QFlowLayout)
    Qt之自定义布局管理器(QCardLayout)
    springMVC获取file,几种转换
    java将白色背景图片转换成无色
  • 原文地址:https://www.cnblogs.com/whtt/p/11826041.html
Copyright © 2011-2022 走看看