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

(本篇例子存于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. IntelliJ IDEA单元测试和代码覆盖率图解

    转载:http://blog.csdn.net/u011872919/article/details/11566713 本文将展示如何使用IntelliJ IDEA开发单元测试和分析覆盖率. 1 创建 ...

  2. jmeter脚本开发-BeanShell Sampler与Debug Sampler

    BeanShell支持java对象的调用,所以可直接通过BeanShell来调用java接口程序. BeanShell调用java接口例子 1.先编写两个简单的java类 创建java简单工程,并创建 ...

  3. oc block 遍历数组及字典

    原遍历数组NSArray * lines = ...for (NSString * line in lines) { // ...}for (int i = 0; i < lines.count ...

  4. SVN环境搭建(1)

    原文地址:http://www.penglig.com/post-72.html Subversion 是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建 SVN 服务 ...

  5. 记一次SmtpClient发送邮件引发的系列问题

    前提:公司同事离职,我接手同事负责的项目. 事件:某天公司的分析人员,说软件中的邮件发送功能不能使用,总是提示"邮件发送失败". 本地能够正常发送,发布WCF到服务器IIS上,再调 ...

  6. atitit.TokenService  token服务模块的设计

    atitit.TokenService  token服务模块的设计 1. Token的归类1 2. Token的用途2 2.1. 访问控制2 2.2. 编译原理术语)编辑2 2.3. 数据处理2 1. ...

  7. nodejs学习之简单服务器的编写

    不废话了!直接上代码: var http = require('http'); //导入模块http http.createServer(function(request,response){ res ...

  8. 5 月 35 日临近,Google 无法访问,可以使用 Google IP 来解决。

    每年都会有几天那啥,你懂的. 直接使用 Google 的域名访问经常会打不开,而使用 Google 的 IP 就会很顺畅. 使用 Chrome 浏览器我们经常都会在地址栏直接搜索,所以我们只要添加一个 ...

  9. Java并发编程(十二)线程安全性的委托

    在组合对象中如果每个组件都已经是线程安全的,是否需要再加一个额外的"线程安全层",需要视情况而定. final可以修饰未复制的属性,只要在静态代码块或者构造函数中赋值了即可. 独立 ...

  10. phpexcel图形图表(一)入门

    PHPExcel - Excel的PHP处理引擎 PHPExcel 提供了一系列的 PHP语言 类,让你可以轻松地读写操作以下格式的文件:.xls/.xlsx/.csv/.ods/Gnumeric/P ...