- 内容提要
- 作者简介
- 译者简介
- 前言
- HTTP
- Servlet 和 JSP
- 下载 Spring 或使用 STS 与 Maven/Gradle
- 手动下载 Spring
- 使用 STS 和 Maven/Gradle
- 下载 Spring 源码
- 本书内容简介
- 下载示例应用
- 第 1 章Spring 框架
- 第 2 章模型 2 和 MVC 模式
- 第 3 章Spring MVC 介绍
- 第 4 章基于注解的控制器
- 第 5 章数据绑定和表单标签库
- 第 6 章转换器和格式化
- 第 7 章验证器
- 第 8 章表达式语言
- 第 9 章JSTL
- 第 10 章国际化
- 第 11 章上传文件
- 第 12 章下载文件
- 第 13 章应用测试
- 附录 A Tomcat
- 附录 B Spring Tool Suite 和 Maven
- 附录 C Servlet
- 附录 D JavaServer Pages
- 附录 E 部署描述符
3.5 视图解析器
Spring MVC 中的视图解析器负责解析视图。可以通过在配置文件中定义一个 ViewResolver(如下)来配置视图解析器。
< bean id="viewResolver" class="org.springframework.web.servlet.
→view.InternalResourceViewResolver"> < property name="prefix" value="/WEB-INF/jsp/"/> < property name="suffix" value=".jsp"/> < /bean>
视图解析器配置有前缀和后缀两个属性。这样一来,view 路径将缩短。例如,仅需提供“myPage”,而不必再将视图路径设置为/WEB-INF/jsp/myPage.jsp,视图解析器将会自动增加前缀和后缀。
以 springmvc-intro2 应用为例,该例子同 springmvc-intro1 应用类似,但调整了配置文件的名称和路径。此外,它还配置了默认的视图解析器,为所有视图路径添加前缀和后缀,如图 3.3 所示。
图 3.3 springmvc-intro2 文件结构
springmvc-intro2 中,Spring MVC 的配置文件被重命名为 springmvc-config.xml 中,并移动到/ WEB-INF/config 目录下。为了让 Spring MVC 可以正确加载到该配置文件,需要将文件路径配置到 Spring MVC 的 Dispatcher servlet。清单 3.7 显示了 springmvc-intro2 应用的部署描述符(web.xml 文件)。
清单 3.7 springmvc-intro2 应用的部署描述符
< ?xml version="1.0" encoding="UTF-8"?>
< web-app version="3.1"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
→http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
< servlet>
< servlet-name>springmvc< /servlet-name>
< servlet-class>
org.springframework.web.servlet.DispatcherServlet
< /servlet-class>
< init-param>
< param-name>contextConfigLocation</param-name> < param-value> /WEB-INF/config/springmvc-config.xml < /param-value> < /init-param> < load-on-startup>1< /load-on-startup> < /servlet> < servlet-mapping> < servlet-name>springmvc< /servlet-name> < url-pattern>/< /url-pattern> < /servlet-mapping> < /web-app>
需要特别注意的是 web.xml 文件中的 init-param 元素。要使用非默认配置文件的命名和路径,需要使用名为 contextConfigLocation 的 init-param,其值应为配置文件在应用中的相对路径(见清单 3.8)。
清单 3.8 springmvc-intro2 的配置文件
< ?xml version="1.0" encoding="UTF-8"?>
< beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
< bean name="/input-product"
class="controller.InputProductController"/>
< bean name="/save-product"
class="controller.SaveProductController"/>
< bean id="viewResolver" class="org.springframework.web.servlet.view. →InternalResourceViewResolver"> < property name="prefix" value="/WEB-INF/jsp/"/> < property name="suffix" value=".jsp"/> < /bean> < /beans>
在浏览器中输入如下 URL,测试 app03b 应用:
http://localhost:8080/springmvc-intro2/input-product
即可看到如图 3.2 所示的表单页面。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论