1. 程式人生 > >SpringMVC配置多個模板檢視解析器

SpringMVC配置多個模板檢視解析器

之前在Spring MVC的Web工程下配置了多個檢視解析器,但只生效了一個。重新研究了下,這裡介紹了了同時配置velocity和html和jsp三種模板檢視解析器。

詳細配置方法見程式碼:

    <!-- 3:配置多個ViewResolver檢視解析 -->
    <!-- 3.1 配置velocity的配置資訊 -->
    <bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
        <!-- 這裡的路徑回合下面layoutUrl和prefix中的路徑組合 -->
        <property name="resourceLoaderPath"
value="/"/> <property name="velocityProperties"> <props> <prop key="input.encoding">UTF-8</prop> <prop key="output.encoding">UTF-8</prop> <prop key="contentType">text/html;charset=UTF-8</prop> </props> </property> </bean> <!-- 3.2
配置多個檢視解析 --> <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <property name="viewResolvers"> <list> <bean id="velocityViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver"
> <property name="cache" value="true"/> <!-- velocity的order要小於jsp的,velocity和html的order優先順序大小無所謂,都能正常解析並顯示 --> <property name="order" value="2"/> <property name="suffix" value=".vm"/> <!-- 這裡的路徑會加上resourceLoaderPath的路徑 --> <property name="layoutUrl" value="/WEB-INF/velocity/layout/default.vm"/> <property name="prefix" value="/WEB-INF/velocity/"/> <property name="contentType" value="text/html;charset=UTF-8"/> </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"/> <!-- 注意:JSP的優先順序要最低,即order要大,否則,HTML和velocity的頁面會被解析到*.jsp --> <property name="order" value="3" /> </bean> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.knight.common.HtmlResourceView"/> <property name="prefix" value="/WEB-INF/html/"/> <property name="suffix" value=".html"/> <!-- 注意:自定義的HTML一定要比JSF的優先順序高,即order要小,否則,HTML的頁面會被解析成jsp --> <property name="order" value="1" /> </bean> </list> </property> </bean>