下面针对官方文档列出的支持类型进行举例。

(本篇例子存于github上, https://github.com/lemonbar/spring-mvc-requestmapping)

可以直接下载, 也可以在浏览器中打开进行查看(强烈建议看这个, 里面有详细的解释).

git clone https://github.com/lemonbar/spring-mvc-requestmapping

准备工作

1. 在WEB-INF下增加一个jsp文件夹, 里面增加两个jsp文件, 为login.jsp和login_new.jsp

WEB-INF
----jsp
--------login.jsp
--------login_new.jsp

2. 修改spring context XML文件, 增加viewResolver bean的定义

    <bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>

3. login.jsp和login_new.jsp文件内容请参考 https://github.com/lemonbar/spring-mvc-requestmapping/tree/master/src/main/webapp/WEB-INF/jsp

4. 增加两个jar/dependency, 我用的是maven, 增加的dependency

        <dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

5. 增加一个用来作为Controller的类, 内容参考

https://github.com/lemonbar/spring-mvc-requestmapping/blob/master/src/main/java/com/lemon/spring/controllers/GreetingController.java

到此, 准备工作完成.

ModelAndView

    public ModelAndView login() {
User user = new User();
//构造函数可以指定view的名字,addObject往model中增加一个object.
return new ModelAndView("login_new").addObject(user);
}

Model

    public Model login() {
User user = new User();
//返回类型是interface, ExtendedModelMap是实现Model接口的一个类.
//addAttribute往model中增加一个object.
//也可以不传key, 使用默认名字.
//不能定义view的名字,使用当前view(login)的名字.
return new ExtendedModelMap().addAttribute("user", user);
}

Map

    public Map<String, User> login() {
User user = new User();
Map<String, User> map = new HashMap<String, User>();
map.put("user", user);
return map;
}

String

    public String login(Model model) {
User user = new User();
model.addAttribute(user);
return "login_new";
}

void

    public void login(Model model) {
//默认也是当前路径.
//也可以通过声明一个ServletResponse/HttpServletResponse的参数,来直接处理response.
User user = new User();
model.addAttribute(user);
}

@ResponseBody

    @ResponseBody
public String greeting(@PathVariable(value = "userName") String name) {
//直接将返回输出到html body中.
return "Hello " + name;
}

还有一些其它的, 可能不经常用, 就不一一介绍了。

[Spring MVC]学习笔记--@RequestMapping支持的返回类型的更多相关文章

  1. Spring MVC 学习笔记11 —— 后端返回json格式数据

    Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...

  2. Spring MVC 学习笔记一 HelloWorld

    Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet ...

  3. Spring MVC 学习笔记9 —— 实现简单的用户管理(4)用户登录显示局部异常信息

    Spring MVC 学习笔记9 -- 实现简单的用户管理(4.2)用户登录--显示局部异常信息 第二部分:显示局部异常信息,而不是500错误页 1. 写一个方法,把UserException传进来. ...

  4. Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录

    Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ...

  5. Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建

    Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...

  6. Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息

    </pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...

  7. Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目

    Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目 Spring Tool Suite 是一个带有全套的Spring相关支持功能的Eclipse插件包. ...

  8. Spring MVC 学习笔记1 - First Helloworld by Eclipse【& - java web 开发Tips集锦】

    Spring MVC 学习笔记1 - First Helloworld by Eclipse reference:http://www.gontu.org 1. 下载 Spring freamwork ...

  9. 1.2(Spring MVC学习笔记) Spring MVC核心类及注解

    一.DispatcherServlet DispatcherServlet在程序中充当着前端控制器的作用,使用时只需在web.xml下配置即可. 配置格式如下: <?xml version=&q ...

随机推荐

  1. [Javascript] Use a Pure RNG with the State ADT to Select an Element from State

    The resultant in a State ADT instance can be used as a means of communication between different stat ...

  2. maven命令解释

    打包:mvn package编译:mvn compile编译测试程序:mvn test-compile清空:mvn clean运行测试:mvn test生成站点目录: mvn site生成站点目录并发 ...

  3. Centos中mount命令挂载windows7共享文件夹

    1)  在ip:10.4.35.77的windows机器上新建用户.这里新建username:myshare,password:myshare123. 选择 [计算机]右键 选择[管理],本地用户和组 ...

  4. Linux——.bash_profile和.bashrc的区别(如何设置生效)

    /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运 ...

  5. ./configure: No such file or directory

    原文链接:http://www.cnblogs.com/niocai/archive/2011/07/14/2106088.html 普通情况下,多看看文件夹下的readme和INSTALL文件,里面 ...

  6. Apache Nifi在Windows环境下搭建伪群集及证书登录

    代码地址如下:http://www.demodashi.com/demo/11986.html 前些时间做了关于Apache Nifi分布式集群的搭建分享,但很多时候要搭建分布式集群机器资源是个问题, ...

  7. SSM&SSH项目中 springmvc 乱码问题解决

    需要在web.xml文件中配置过滤器: <!-- 过滤器 过滤乱码 --> <filter> <filter-name>characterEncodingFilte ...

  8. Connect China Azure Storage Blob By Container Token In Python SDK

    简介: 基于Python SDK,使用Container Token操作container对象.关于Token的生成可以使用Storage SDK创建,也可以使用工具快速创建供测试. 示例代码: fr ...

  9. 二维数组,锯齿数组和集合 C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用 C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)

    二维数组,锯齿数组和集合 一.二维数组 二维数组:一维数组----豆角二维数组----表格 定义:1.一维数组:数据类型[] 数组变量名 = new 数据类型[数组长度];数据类型[] 数组变量名 = ...

  10. win10 rabbitMQ的安装与测试

    安装 1.首先,下载并运行Erlang for Windows 安装程序 (地址:http://www.erlang.org/downloads)下载完毕并安装(注意:安装目录请选择默认目录) 2.下 ...