最近在项目中用到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>

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

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

freemarker配置,使用的更多相关文章

  1. SpringBoot下配置FreeMarker配置远程模版

    需求产生原因 要求在同一个接口中,根据不同的参数,返回不同的视图结果 所有的视图中的数据基本一致 要求页面能静态化,优化SEO 例如:A接口返回客户的信息 客户A在调用接口时,返回其个性化定制的页面A ...

  2. freemarker配置信息

    <!--  <!– freemarker的配置 –> <bean id="freemarkerConfigurer" class="org.spr ...

  3. FreeMarker配置详解

    首先需要添加freemarker.jar到项目,如果项目中有spring或者spirngmvc,需要整合,首先配置freemarkerConfig,代码结构如下:         <!-- 设置 ...

  4. springboot集成freemarker 配置application.properties详解

    #配置freemarker详解 #spring.freemarker.allow-request-override=false # Set whether HttpServletRequest att ...

  5. 使用FreeMarker配置动态模板

    FreeMarker动态模板 目录 FreeMarker动态模板 前言 准备工作 FreeMarker 代码构建 项目结构 创建 Configuration 实例 调用 模板文件 调用结果 Tips ...

  6. Spring boot freemarker 配置

    spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.jdbc.Dri ...

  7. SpringMVC整合freeMarker实现页面静态化+SpringMVC配置多视图

    一.背景 1.什么是FreeMarker FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于 ...

  8. spring boot 配置 freemarker

    1.springboot 中自带的页面渲染工具为thymeleaf 还有freemarker 这两种模板引擎 简单比较下两者不同, 1.1freemaker 优点 freemarker 不足:thym ...

  9. Java: FreeMarker的配置和使用

    初学什么都不可以忽略的地方就是这个东西的官方网站:http://freemarker.org/.下载或者API都可以参考这里. FreeMarker是什么 非常的简单明了.FreeMarker是一个j ...

随机推荐

  1. WiresShark 使用方法

    Wireshark(前称Ethereal)是一款功能强大的网络抓包分析工具,在我的工作中是不可或缺的一部分工具,往往在网络出现异常时,查看网络中的数据包,会豁然开朗.1.菜单栏  主菜单包括以下几个项 ...

  2. vi join

    换行符删不掉?试试n shift+j,它合并其下n行到一行.

  3. C#入门经典(第三章-1)

    #region--------#endregion 此关键字 将设置代码是否可以折叠和展开.但是他们不是C#关键字.注意:带#的是预处理指令,严格说不是C#关键字. 变量:

  4. Linux服务器软件安装备忘

    1.Centos安装Mysql --安装 yum install mysql-server 卸载 yum -e mysql-server --设置为开机启动 chkconfig mysqld on - ...

  5. [转] Eclipse 使用 Link 方式进行插件的安装

    下方来自 http://www.iteye.com/topic/1113353 Eclipse 的插件安装方法一般有以下几种(以安装 SVN 插件为例说明,Eclipse 版本为:3.7/Indigo ...

  6. javascript 函数的基础知识

    1. Why JavaScript functions always return a value? I'm taking a course in JavaScript programming, an ...

  7. SpringMVC轻松学习-注解的使用(三)

    根据上一讲的例子,我们下面就注解的使用进行详细说明. 我们采用sprng MVC开发项目时,通常都会采用注解的方式,这样可以大大提高我们的开发效率.实现零配置.下面我们从零开始重新做一个spring ...

  8. LintCode 面试题 旋转字符串

    1.题目描述 题目链接:http://www.lintcode.com/zh-cn/problem/rotate-string/ 给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转) 2. ...

  9. (中等) POJ 2886 Who Gets the Most Candies? , 反素数+线段树。

    Description N children are sitting in a circle to play a game. The children are numbered from 1 to N ...

  10. ios 添加PCH文件