zoukankan      html  css  js  c++  java
  • 7、SpringMVC配置视图解析器:jsp跟html

    转载:https://www.cnblogs.com/yozar/p/10230113.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>
  • 相关阅读:
    用数据库表填充下拉列表框
    如何把存储过程查询出来的结果(记录)放到一个临时表里面
    关于vs2008设计视图假死的原因及解决方案总结
    关于vs2008新建App_Code文件夹
    给文本框添加灰色提示文字
    sql server 2005 怎么得到将要插入的数据的id
    下拉框绑定数据库后,如何在下拉框的最前面增加一项
    JS 获取页面传过来的参数值
    产品路线图规划可视化工具推荐
    Leangoo领歌scrum敏捷开发工具学习资料下载
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/14287444.html
Copyright © 2011-2022 走看看