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

(本篇例子存于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. android常用的一些属性说明

    android:id --- 为控件指定相应的ID android:text --- 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串 android:griv ...

  2. 在FASTBuild中使用Caching

    上一篇:初识FASTBuild 在FASTBuild中使用缓存只需要注意三个环节: 一.设置编译选项 对于GCC\SNC\Clang编译器,没有特殊的要求 对于MSVC编译器,必须设置/Z7调试模式. ...

  3. DOM操作,控制HTML元素 (原生JS)

    文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面代码: 将HTM ...

  4. iovec结构体定义及使用 (转)

    I/O向量(struct iovec) readv(2)与writev(2)函数都使用一个I/O向量的概念.这是由所包含的文件定义的: #include <sys/uio.h> 头文件定义 ...

  5. 删除LINUX更新后多余的内核

    删除LINUX更新后多余的内核 本人使用的时fredoa 21 之前为了搞网卡驱动不知不觉升级了几次系统,每次启动后都有好几个内核让我选,真的非常头疼阿,尤其像博主这样的有点强迫的人,看着就心烦,所以 ...

  6. hiredis学习整理

    hiredis安装 http://blog.csdn.net/aizquan/article/details/20777453 http://blog.csdn.net/zhwei_87/articl ...

  7. CentOS系统时间与网络同步

    新装的CentOS系统server可能设置了错误的,须要调整时区并调整时间.例如以下是CentOS系统使用NTP来从一个时间server同步: 第一步: 把当前时区调整为上海就是+8区,想改其它时区也 ...

  8. Atitit.数据库存储引擎的原理与attilax 总结

    Atitit.数据库存储引擎的原理与attilax 总结 1. 存储引擎是什么1 2. 其它数据库系统(包括大多数商业选择)仅支持一种类型的数据存储2 3. 表的存储有三个文件:结构+数据+索引2 4 ...

  9. Vue 组件5 高级异步组件

    自2.3.0起,异步组件的工厂函数也可以返回一个如下的对象. const AsyncComp = () => ({ // 需要加载的组件. 应当是一个 Promise component: im ...

  10. vs2015创建webService