最近在项目中用到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. Android----ListView入门知识--各种Adapter配合使用

    引自:http://www.cnblogs.com/playing/archive/2011/03/21/1990555.html 在android开发中ListView是比较常用的组件,它以列表的形 ...

  2. POJ 3648 Wedding

    2-SAT,直接选择新娘一侧的比较难做,所以处理的时候选择新郎一侧的,最后反着输出就可以. A和B通奸的话,就建边 A->B'以及B->A’,表示 A在新郎一侧的话,B一定不在:B在新郎一 ...

  3. Asp获取网址相关参数大全

      Asp获取网址相关参数大全 代码一:[获取地址中的文件名,不包含扩展名]<%dim Url,FileName,File Url=split(request.servervariables(& ...

  4. spring和springMVC的上下文

    上下文可以替代注解, 但是注解更方便 package com.tgb.web.controller; import javax.annotation.Resource; import javax.se ...

  5. Init.rc分析(刘举奎)

    http://www.360doc.com/content/14/0926/20/13253385_412582822.shtml

  6. 控制textbook输入字符

    在KeyPress事件中假如如下代码此实例表示可输入数字退格和“.”. 具体字符KeyChar见连接 http://www.cnblogs.com/linji/archive/2012/10/24/2 ...

  7. 用Quick Cocos2dx做一个连连看(二)

    今天完成了以下内容: 1 成对生成SpriteItem 2 重排接口制作完成 3 SpriteItem的选择逻辑 主要代码如下: function MainScene:onEnter() local ...

  8. 0115percona-toolkit安装教程

    一.percona-toolkit简介percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slav ...

  9. Nginx 负载均衡 后端服务器获取前端用户真实IP

    Nginx 后端 日志文件 获取的都是 前端 负载均衡器的IP 想要获取用户的真实IP 必须 使用Nginx 的模块  http_realip_module  才行!! 1. 编译 Nginx 的时候 ...

  10. 使用Pushlet来实现服务器端向客户端推送信息

        使用Pushlet来实现服务器端向客户端推送信息 1.   实现方式: 有两种实现方式: 1.         通过配置文件来实现定时的从服务器端向客户端推送信息 2.         通过A ...