[Spring MVC]学习笔记--@RequestMapping支持的返回类型
下面针对官方文档列出的支持类型进行举例。
(本篇例子存于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的类, 内容参考
到此, 准备工作完成.
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支持的返回类型的更多相关文章
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
- Spring MVC 学习笔记一 HelloWorld
Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet ...
- Spring MVC 学习笔记9 —— 实现简单的用户管理(4)用户登录显示局部异常信息
Spring MVC 学习笔记9 -- 实现简单的用户管理(4.2)用户登录--显示局部异常信息 第二部分:显示局部异常信息,而不是500错误页 1. 写一个方法,把UserException传进来. ...
- Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录
Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ...
- Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建
Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...
- Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息
</pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...
- Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目
Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目 Spring Tool Suite 是一个带有全套的Spring相关支持功能的Eclipse插件包. ...
- 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 ...
- 1.2(Spring MVC学习笔记) Spring MVC核心类及注解
一.DispatcherServlet DispatcherServlet在程序中充当着前端控制器的作用,使用时只需在web.xml下配置即可. 配置格式如下: <?xml version=&q ...
随机推荐
- iOS tableView下拉图片放大
事实上这个效果,本质上就是在你tableView下拉 造成offset时候. 保持你顶部图片的y坐标点还停留在下拉时屏幕的顶点(offset), 而图片的长度变为原始的height长度-(offset ...
- Openerp图片路径处理
Openerp目前存储图片如人力资源头像图片等都是以二进制的方式存储在数据库中,若要修改数据库里只存储路径可以用这种方法 Image 装饰器: Image装饰器包含3中图片显示 Image 大图片 i ...
- 为每一个应用程序池单独设置aspnet.config配置文件
ASP.NET2.0之后的版本号就在各Framework的根文件夹下提供了一个aspnet.config文件.这个文件用来配置全局的一些信息,可是一直以来我们都没有怎么用过. ASP.NET4.0之后 ...
- 关于升级 phpStudy 中 MySQL 版本至 5.7.17
mysql版本低于5.6 自动更新时间会报错.因此要升级mysql版本.综合网上资料和实际过程中遇到的问题,具体细节和注意事项如下: 1.从官网上下载高版本的 MySQL :https://dev.m ...
- HTML输入验证提示信息
1.oninvali事件通过setCustomValidity方法来自定义提示信息 <form action=""> <label> 数字: <inp ...
- 深入PHP中慎用双等于(==)的详解
PHP比较运算符出现的频率实在是太高了,尤其是 ==if(a == b){// do something}但是,你真的掌握了 == 了吗?细节很重要!来看下面的代码,说出你认为正确的答案var_dum ...
- redhat samba安装配置
突然想要用,好久没配过这玩意了,再次配置一次,记录一下过程. 1.挂载镜像 mount -o loop ~/Desktop/RHEL_5.5\ i386\ DV.iso /mnt ...
- virtualenv下使用matplotlib
Unable to “import matplotlib.pyplot as plt” in virtualenv (PyMVPA) SimilarFacedeMacBook-Pro:PyMVPA ...
- 使用pycharm手动搭建python语言django开发环境(三) 使用django的apps应用 添加应用静态文件
1)在django 工程目录中使用cmd命令行 敲入"python manage.py startapp app名称(例子为blog)" 2)在django工程目录中应该生成了bl ...
- codeblocks中给GCC编译器加参数
在使用gcc命令行编译的时候可以使用gcc xxx.c -o xxx.exe -std=c99来使用c99标准编译 但是在codeblocks中默认是不使用c99标准编译的,如何加参数呢? Setti ...