spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void。下面将对具体的一一进行说明:

一、ModelAndView

@RequestMapping("/show1")
public ModelAndView show1(HttpServletRequest request,  HttpServletResponse response) throws Exception {  ModelAndView mav = new ModelAndView("/demo2/show");  mav.addObject("account", "account -1");  return mav;  }  

通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面 ,
使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以默认和指定返回对象的名字。
调用addObject()方法将值设置到一个名为ModelMap的类属性,ModelMap是LinkedHashMap的子类,
具体请看类。
二、 Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。

三、Map

@RequestMapping("/demo2/show")  public Map<String, String> getMap() {  Map<String, String> map = new HashMap<String, String>();  map.put("key1", "value-1");  map.put("key2", "value-2");  return map;  }  

在jsp页面中可直通过${key1}获得到值, map.put()相当于request.setAttribute方法。
写例子时发现,key值包括 - . 时会有问题.

四、View 可以返回pdf excel

五、String 指定返回的视图页面名称,结合设置的返回地址路径加上页面名称后缀即可访问到。
注意:如果方法声明了注解@ResponseBody ,则会直接将返回值输出到页面。

@RequestMapping(value = "/something", method = RequestMethod.GET)
@ResponseBody
public String helloWorld()  {
return "Hello World";
}  

上面的结果会将文本"Hello World "直接写到http响应流。

@RequestMapping("/welcome")
public String welcomeHandler() {  return "center";
}  

对应的逻辑视图名为“center”,URL= prefix前缀+视图名称 +suffix后缀组成。
小结:
1.使用 String 作为请求处理方法的返回值类型是比较通用的方法,这样返回的逻辑视图名不会和请求 URL 绑定,具有很大的灵活性,而模型数据又可以通过 ModelMap 控制。
2.使用void,map,Model 时,返回对应的逻辑视图名称真实url为:prefix前缀+视图名称 +suffix后缀组成。
3.使用String,ModelAndView返回视图名称可以不受请求的url绑定,ModelAndView可以设置返回的视图名称。
void 如果返回值为空,则响应的视图页面对应为访问地址

SpringMVC——处理方法返回值的可选类型相关推荐

  1. SpringMVC Controller 返回值的可选类型

    原文地址:http://www.cnblogs.com/xiepeixing/p/4243801.html  感谢原作者! spring mvc 支持如下的返回方式:ModelAndView, Mod ...

  2. 集合中的compare方法返回值说明

    compare()方法,有两个参数自定义为 o1 和 o2,默认返回 0,可修改方法体中的内容,返回不同的参数值(整型) o1待比较的参数,o2与其比较的参数,即之前已经排序好的数组或集合的最后一个元 ...

  3. .net mvc actionresult 返回字符串_072-SpringMVC后端控制器接收参数、处理器方法返回值类型、拦截器、文件上传下载...

    1. 注解式开发之annotation-driven解释 (1) mvc注解驱动在哪个文件中配置? 在springmvc中配置 (2) 配置mvc注解驱动使用哪个标签? 2. 注解式开发之视图解析器 ...

  4. SpringMVC控制类的Controller方法返回值

    SpringMVC控制类的Controller方法返回值 Controller方法返回值 返回字符串 逻辑视图名 controller方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址 ...

  5. Java框架-SpringMVC的应用(json数据交互、控制器方法返回值、文件上传)

    1. 搭建SpringMVC开发环境 1.1 创建项目,添加依赖 <?xml version="1.0" encoding="UTF-8"?> &l ...

  6. SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器

    SpringMVC入门(二)-- 参数的传递.Controller方法返回值.json数据交互.异常处理.图片上传.拦截器 参考文章: (1)SpringMVC入门(二)-- 参数的传递.Contro ...

  7. webservice返回值为Map类型的处理方法

    在写一个webservice的时候,方法的返回值是一个复杂类型,处理方法是写一个结果类(Javabean)作为返回值.想着webservice方法返回值为Map的没写过,然后就试着写了一个简单的Dem ...

  8. IDEA 方法返回值和返回类型自动补全快捷键设置

    IDEA 方法返回值和返回类型自动补全快捷键设置 今天遇到一个很奇怪的问题,我新装的IDEA,默认的返回类型补全快捷键应该是 Ctrl + Alt +V 但是怎么也不起作用了,所以想去设置一下,然后找 ...

  9. Java方法返回值类型归纳

    Java方法返回值类型归纳 我们再调用一个方法时,将方法体内产生的一条数据输出到方法体外使用,这条数据我们叫做返回值. 返回值类型分为两大类:第一类,无返回值类型:void.第二类,有返回值类型,返回 ...

最新文章

  1. 码云新建仓库,与本地仓库关联
  2. 关于/etc/fstab
  3. Web Service入门简介(一个简单的WebService示例)
  4. 搜狗拼音输入法5.0_搜狗输入法与金山WPS联合放大招,推出quot;金山搜狗拼音输入法quot;...
  5. mysql严格模式 报错_mysql严格模式
  6. java的visitor模式_java设计模式(二十一)访问者模式(Visitor)
  7. 蔚来:4月交付7102台 同比增长125.1%
  8. r 重命名 列名_R-reshape2
  9. RAID卡的安装配置
  10. Asp.net使用HttpResponse.Filter 实现简繁/繁简转换
  11. noip 2010 数字统计
  12. 陈景润定理对筛法理论的贡献
  13. 装修行业怎么找精准客户?有那些获客渠道?
  14. python很全的爬虫入门教程
  15. getTasks: caller 10079 does not hold REAL_GET_TASKS; limiting output问题解决
  16. 浅谈知识表示之语义网络、RDF和OWL
  17. 【避坑 超详细】Ubuntu使用python的selenium以及chrome模拟真实浏览器访问网页
  18. 浅浅的介绍一下STL
  19. 如何做一个自己的开源聊天项目?(仿微信)
  20. 山西宗教文化漫谈(一)

热门文章

  1. sql命令(四)-操作数据表中的记录
  2. “TI门外汉”网路知识笔记四 单臂路由
  3. QlikView线图高亮选择尺寸
  4. java.lang.ClassCastException:android.widget.Button cannot be cast to android.widget.ImageView
  5. 树形DP-HDU1561 The more, The Better
  6. javaweb 初学建议
  7. 利用SAN做数字化世界的基石
  8. 基于腾讯云服务器部署微信小程序后台服务(Python+Django)
  9. PHP实现JS颜文字编码解码过程-aaencode+aadecode
  10. 大数据“矿工” 世界上最艰辛的IT人