Spring MVC多个视图解析器及优先级

<!-- Velocity视图解析器 默认视图 -->
<bean id="velocityViewResolver"
    class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
    <property name="contentType" value="text/html;charset=UTF-8" />
    <property name="viewNames" value="*.html" />
    <property name="suffix" value="" />
    <property name="dateToolAttribute" value="date" />
    <property name="numberToolAttribute" value="number" />
    <property name="toolboxConfigLocation" value="/WEB-INF/velocity-toolbox.xml" />
    <property name="requestContextAttribute" value="rc" />
    <property name="order" value="0" />
</bean>


<bean id="velocityConfigurer"
    class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
    <property name="resourceLoaderPath" value="/WEB-INF/page/" />
    <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>


<!-- JSP视图解析器 -->
<bean id="viewResolverJsp"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/page/" />
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView" />
    <property name="viewNames" value="*.jsp" />
    <property name="suffix" value="" />
    <property name="order" value="1" />
</bean>


<!-- FreeMarker视图解析器 -->
<bean id="viewResolver"
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
    <property name="contentType" value="text/html; charset=utf-8" />
    <property name="cache" value="false" />
    <property name="viewNames" value="*.ftl" />
    <property name="suffix" value="" />
    <property name="order" value="2" />
</bean>


<bean
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="templateLoaderPath" value="/WEB-INF/page/" />
    <property name="freemarkerSettings">
        <props>
            <prop key="defaultEncoding">UTF-8</prop>
        </props>
    </property>
</bean>

如果应用了多个视图解析器策略,那么就必须通过“order”属性来声明优先级,order值越低,则优先级越高

posted @ 2017-12-20 17:18  試毅-思伟  阅读(230)  评论(0编辑  收藏  举报