使用ResourceBundleViewResolver配置下bean就可以让视图解释器支持解析多种视图,而之前使用的UrlBasedViewResolver,就只支持解释单一类型的视图
ResourceBundleViewResolver通过读取X.properties文件,进行视图解析,这个文件位于classpath路径下,X的值是通过设置ResourceBundleViewResolver的basename属性来设定的
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!-- 配置处理器映射 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<!-- http://colo-pc:8080/SpringMVC01/a.do时就会自动跳转到a.jsp -->
<prop key="a.do">a</prop>
<prop key="b.do">b</prop>
</props>
</property>
</bean>
<bean id="a" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="a"></property>
</bean>
<bean id="b" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="b"></property>
</bean>
<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<!-- 设定属性文件名为views -->
<property name="basename" value="views"></property>
</bean>
</beans>
配置文件 views.properties
底下指明了,如果逻辑视图名与其中某项匹配,就跳转到相应的页面去
a.class=org.springframework.web.servlet.view.JstlView
a.url=/WEB-INF/jsp/a.jsp
b.class=org.springframework.web.servlet.view.JstlView
b.url=/WEB-INF/jsp/b.jsp