SpringMVC-配置多个视图解析器

方法一

<!-- html视图解析器 必须先配置freemarkerConfig,注意html是没有prefix前缀属性的 -->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="templateLoaderPath" value="/WEB-INF/html/"/>
    <property name="defaultEncoding" value="utf-8"/>
</bean>
<bean id="htmlViewResolver" 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="true"/>
    <property name="suffix" value=".html"/>
    <property name="order" value="0"/>
</bean>

<!--3.配置jsp视图解析器-->
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!--配置jstl的视图解析-->
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
    <property name="order" value="0"/>
</bean>

使用freemaker作为html的视图解析器,InternalResourcceViewResolver作为jsp的视图解析器

freemaker需要导入的jar

  <!-- freemarker jar包 -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.20</version>
</dependency>

注意:

  1. 配置freemaker的html视图解析器之前需要首先配置freemarker的路径。该路径中的templateLoderPath相当于视图解析器中的前缀。因此freemaker的视图解析器中是没有prefix属性。
  2. 配置freemarker视图解析器时要有viewClass属性
  3. 优先级问题:需要总是把InternalResourcceViewResolver放在freemarker后边,并且优先级设置相同,不然只能对同一个文件夹下的.html和.jsp文件生效(),对不同文件夹下的.html和.jsp总是使用优先级高的视图解析器去解析。

方式二:

html和jsp都使用InternalResourcceViewResolver作为视图解析器,配置两个InternalResourcceViewResolver,一个针对html,一个针对jsp,这种情况下也需要把两个视图解析器的优先级设置相同,并且这种情况仅在.html和.jsp文件在同一个目录路径下时才会起作用,对不同文件夹下的.html和.jsp也会总是使用优先级高的视图解析器去解析。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值