zoukankan      html  css  js  c++  java
  • freemarker配置,使用

    最近在项目中用到freemarker,总是报一些莫名其妙的错误。

    调查得知是由于在配置文件中属性【tag_syntax】的设置问题,我们的环境下该属性(auto_detect)默认设置了自动检测,也就是说根据第一出现标签的样式来决定哪一种标签的写法是合法的。比如说第一行使用标签的地方使用的是[]的话,那么在接下来的使用中,都必须保持一致否则就会出错!

    在web.xml中配置当前前端控制器(DispatcherServlet)sss。

    根据配置可以看到该控制器需要的配置文件名字为:sss-servlet-front.xml(当然此处可可以不用指定,不指定会默认寻找/WEB-INF/[servlet名字]-servlet.xm)

    1、web.xml内容:

    <servlet>
    <servlet-name>sss</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
    /WEB-INF/config/sss-servlet-front.xml
    </param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
    </servlet>

    2、sss-servlet-front.xml内容

    下面黄色部分为freemarker的设置(非完全)

    <bean id="freemarkerViewResolver" class="com.ydd.common.web.springmvc.SimpleFreeMarkerViewResolver">

    <property name="prefix" value="/tmp/"/>
    <property name="suffix" value=".html"/>
    <property name="contentType" value="text/html; charset=UTF-8"/>
    <property name="exposeRequestAttributes" value="false"/>
    <property name="exposeSessionAttributes" value="true"/>
    <property name="exposeSpringMacroHelpers" value="true"/>
    </bean>
    <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <!--获取标签配置-->
    <property name="freemarkerVariables" value="#{propertyUtils.getBeanMap('directive.')}"/>
    <property name="templateLoaderPath" value="/WEB-INF"/>
    <property name="freemarkerSettings">
    <props>
    <prop key="tag_syntax">auto_detect</prop><!-- 设置标签类型 auto_detect(自动检测第一次出现的标签类型)、angle_bracket(<>)、square_bracket([])-->
    <prop key="template_update_delay">5</prop><!-- 刷新模板的周期,单位为秒 -->
    <prop key="defaultEncoding">UTF-8</prop><!--  模板的编码格式 -->
    <prop key="url_escaping_charset">UTF-8</prop><!-- URL编码  -->
    <prop key="locale">zh_CN</prop><!--  本地化设置 -->
    <prop key="boolean_format">true,false</prop><!-- 布尔型格式 -->
    <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop><!-- 显示日期时间格式 -->
    <prop key="date_format">yyyy-MM-dd</prop><!-- 显示日期格式 -->
    <prop key="time_format">HH:mm:ss</prop><!--  显示时间格式 -->
    <prop key="number_format">0.######</prop><!-- 显示数字格式 -->
    <prop key="whitespace_stripping">true</prop><!--  去掉多余的空格 -->
    <prop key="classic_compatible">true</prop><!-- 如果变量为Null转化为空字符串 -->
    <prop key="auto_import">/ftl/uke/index.ftl as p,/ftl/spring.ftl as s</prop><!-- 每个freemarker视图页面自动导入ftl文件 -->
    </props>
    </property>
    </bean>

    本人可能有理解不到位的地方,如有不当之处,欢迎大家指正!!!如需转载请注明出处,谢谢!

    如果本文对你有帮助请留下你的足迹。。。你的互动对我来说很重要!

  • 相关阅读:
    浙大版《C语言程序设计(第3版)》题目集 --总结
    | C语言I作业09
    c语言课本及pta作业中运用到的程序思维
    | C语言I作业08
    团队作业(四):描述设计
    实验三《敏捷开发与XP实践》_实验报告
    MyOD(课下作业,选做)
    实验二《面向对象程序设计》_实验报告
    20175226 2018-2019-2《java程序设计》结对编程-四则运算(第二周-阶段总结)
    20175226 类定义
  • 原文地址:https://www.cnblogs.com/yddzyy/p/5149109.html
Copyright © 2011-2022 走看看