spring MVC之按名称解析视图(一)

spring MVC之按名称解析视图(一)

-----------

 

当处理器处理完请求时,它可能返回视图对象,也可能返回这个视图对象的逻辑名称。如果它返回的是视图名称,DispatcherServlet就必须用这个名称创建视图对象,并为用户呈现视图。你想为DispatcherServlet定义一种策略,以便按视图名称来解析视图。

在Spring MVC应用程序中,视图由web应用程序上下文中声明的一个或多个视图解析器Bean进行解析。这些Bean必须实现ViewResolver接口,这样DispatcherServlet才能自动侦测到它们。Spring MVC提供了几个ViewResolver实现,让你能根据不同的策略来解析视图。

 

 

根据URL解析视图

 

解析视图的基本策略是直接将它们映射到URL。视图解析器InternalResourceViewResolver用添加前缀后缀的方法,将

每个视图名称都映射到一个URL上。为了注册InternalResourceViewResolver,可以在Web应用程序上下文中声明一个该类型的Bean。

<bean 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>

例如,InternalResourceViewResolver会以下面的方式解析视图名称welcome和reservationQuery。

welcome --> /WEB-INF/jsp/welcome.jsp
reservationQuery --> /WEB-INF/jsp/reservationQuery.jsp

解析后的视图类型可以通过viewClass属性指定。默认情况下,如果classpath中有JSTL库(如:jstl.jar),InternalResourceViewResolver就会将视图名称解析到JstlView类型的视图对象中。因此,如果视图是带有JSTL标签的JSP模板,完全可以省略viewClass属性。

InternalResourceViewResolver很简单,它只能解析能够被Servlet API的RequestDispatcher转发的内部资源视图(如内部的jsp文件或者Servlet)。至于Spring MVC支持的其他视图类型,必须利用其他策略对他们进行解析。  

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值