使用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