zoukankan      html  css  js  c++  java
  • 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>
    
  • 相关阅读:
    wordpress站点更换域名了如何快速设置
    wordpress调用文章摘要,若无摘要则自动截取文章内容字数做为摘要
    宝塔https部署没成功的原因排查
    全球百大网站排行榜6月榜出炉
    深度 | 邢波教授谈人工智能科学路径:为人工智能装上「无穷动」引擎
    C++中public,protected,private派生类继承问题和访问权限问题
    谁再说Matlab速度慢,我跟谁急
    C++常用的#include头文件总结
    Visual Studio的调试技巧
    How to (seriously) read a scientific paper
  • 原文地址:https://www.cnblogs.com/yozar/p/10230113.html
Copyright © 2011-2022 走看看