• springMVC配置jsp/html视图解析器


    参考自springMVC配置jsp、html多视图解析器,本文稍作补充

    1、maven项目引入freemark相关jar包

    freemaker是以个模板引擎,可以根据提供的数据和创建好的模板,去自动的创建html静态页面。所以在返回html视图时可以用这个引擎结合数据生成html静态页面。

    <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-context-support</artifactId>
      <version>5.0.7.RELEASE</version>
    </dependency>
    
    <dependency>
      <groupId>org.freemarker</groupId>
      <artifactId>freemarker</artifactId>
      <version>2.3.28</version>
    </dependency>
    

    注意freemarker版本,如果版本过低的话可能会有java.lang.NoSuchMethodError: freemarker.template.Configuration.(Lfreemarker/template/Version;)这样的报错

    2、freemarker.properties

    在src/main/resources下新建freemarker.properties配置文件,主要为了解决freemarker返回HTML页面中文乱码问题

    tag_syntax=auto_detect  
    template_update_delay=60  
    default_encoding=UTF-8  
    output_encoding=UTF-8  
    locale=zh_CN  
    date_format=yyyy-MM-dd  
    time_format=HH:mm:ss  
    datetime_format=yyyy-MM-dd HH:mm:ss  
    classic_compatible=true  
    template_exception_handler=ignore  
    

    3、配置视图解析器

    在springmvc.xml中配置jsp、html的视图解析器。注意一点是,InternalResourceViewResolver必须总是赋予最低的优先级(最大的order值),因为不管返回什么视图名称,它都将解析视图。如果它的优先级高于其它解析器的优先级的话,它将使得其它具有较低优先级的解析器没有机会解析视图。

    <bean id="freemarkerConfiguration"
          class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="location" value="classpath:freemarker.properties" />
    </bean>
    <!-- html视图解析器 必须先配置freemarkerConfig,注意html是没有prefix前缀属性的 -->
    <bean id="freemarkerConfig"
          class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <property name="freemarkerSettings" ref="freemarkerConfiguration" />
        <property name="templateLoaderPath">
            <value>/WEB-INF/html/</value>
        </property>
    </bean>
    <bean id="htmlviewResolver"
          class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
        <property name="suffix" value=".html" />
        <property name="order" value="0"></property>
        <property name="contentType" value="text/html;charset=UTF-8"></property>
    </bean>
    
    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>
        <property name="order" value="2"></property>
    </bean>
    
  • 相关阅读:
    胜利大逃亡
    求最小环
    Prime算法
    网站根目录下没有正确的DNT.config文件 (不同类型错误更新中)
    Day4_代码重用与函数
    Day1_算法分析方法
    Day3_字符串操作与正则表达式
    错误解决一_call time passbyreference removed
    Day1_PHP快速入门
    silverlight 动态加载树形菜单[带图标],方法一
  • 原文地址:https://www.cnblogs.com/yozar/p/10230113.html
Copyright © 2020-2023  润新知