[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 ...
随机推荐
- docker实战——Docker本地私有镜像仓库Harbor搭建及配置
Harbor介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然docker官方提供了公共的镜像仓库(Docker Hub),但是从安全和效率等方面考虑,部署我们私有环境内的Registr ...
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-人机界面如何自动运行,不让用户干涉,设置起始界面
右击视图管理器,添加一个TargetVisualization 在起始视图中点击右边的按钮,然后选择一个HMI作为起始HMI 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: h ...
- 手机SD卡损坏补救措施
现在的应用程序越来越重,比如微信.来往之类的,稍微用一段时间,就会占用几十MB甚至上百MB的空间.而有时候甚至手机会出现"无响应"的现象,需要你选择"继续等待" ...
- 说说css伪元素::before和::after,你就会明白我们为什么需要它
wxml <view class='weui-loading'>#000</view> <view class='btn'><text class='gree ...
- MyISAM的key_buffer_size和InnoDB的innodb_buffer_pool_size
一.MyISAM的key_buffer_size MyISAM的索引方式是非聚集索引,主索引和其他索引没有本质区别,在data域都是存储了具体记录行的地址.key_buffer_size规定了系统将多 ...
- 修改 Ubuntu 13.04 LAMP 服务器端口号
因为今天想让一台Ubuntu 13.04服务器对外 web 服务的端口号为8000,自己改了一下,但是就是无法访问,端口后依然为 80.所以在网上找了一下修改端口的办法,原来我还少修改了一个文件,这里 ...
- ubuntu cp(copy) command
e.g. #cp –p –R /opt/lampp/drv ~/test Ubuntu_Linux命令:cp(copy)复制文件或目录 功能: 复制文件或目录 www.2cto.com 说 ...
- pat(B) 1037. 在霍格沃茨找零钱(水题)
代码: #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> ...
- 用尽洪荒之力整理的Mysql数据库32条军规(转)
今天上午吐血整理了Oracle SQL性能优化的40条军规,其中很多规则也是适用于Mysql的,结果今晚发现这一篇文章——用尽洪荒之力整理的Mysql数据库32条军规,和我的竟有异曲同工之妙,当然不同 ...
- Docker 基础概念科普 和 常用操作介绍
Docker 基础概念 Docker是什么? Docker的思想来自于集装箱,集装箱解决了:在一艘大船上,可以把货物规整的摆放起来.并且各种各样的货物被集装箱标准化了,集装箱和集装箱之 ...