`
linvar
  • 浏览: 259810 次
  • 性别: Icon_minigender_1
  • 来自: 未定
社区版块
存档分类
最新评论

freemarker使用总结

    博客分类:
  • java
阅读更多

1.freemarker在使用spring MVC时会出现乱码问题
这时可以在springmvc-servlet.xml(MVC配置文件)中的
freemarkerConfig那里增加
<property name="freemarkerSettings">
    <props>
<prop key="defaultEncoding">UTF-8</prop>
        <prop key="number_format">0.######</prop>   
    </props>
</property>
相应地key="number_format"那行表示对于上万的数字不要加逗号.
或<#settings number_format="####">

2.String 的有用builtins:
  1).split
   <#assign foo = 'foo is foo'>
   ${foo?split(' ')}
   split可有第二个参数来指明分隔符是正则表达式(使用java的正则\\),
   ${foo?split('\\s+', 'r')}
   支持正则表达式的builtin还有replace
   <#list foo?split(" ") as x>
     ${x}
   </#list>

3. sequences 的有用builtins:
  1).size 长度
     例:
     <#if list?size &gt; 0>
       ....
     </#if>
  2).first sequences的第一个元素
     例:
     <#assign addr = list?first>
  3).分段列表chunk
     <#list itemList?chunk(4) as items>
          <ul>
             <#list items as item>
                <li> .....</li>
             </#list>
          </ul>
     </#list>

 
4.循环 sequences时,
   var_index 表示当前次序, 可以使用<#break>跳出循环
     例:
     <#list addrs as ad>
         ${ad_index + 1}
         <#if ad_index == 5>
            <#break>
         </#if>
     </#list>

5.构造数字列表可以使用:
  <#list 1..8 as num>
     //1和8是变量有时就有用,列表包括1和8
  </#list>

6.freemarker变量值不存在
  null值也表示不存在
  1).默认值
     ${user!"unknow"}
  2).测试是否存在变量
     <#if user??>
       ...
     </#if>

7.freemarker的表达式 Expressions
   1).字符串也可像sequence一样取某个字符
      ${str[1]}, 切片${str[3..8]} ${str[4..]}
      但是不推荐使用了, 而使用string的builtin substring
  
   2).数学计算 Arithmetical calculations
      +,-,* ,/,%
  
   3).比较操作符 Comparison
      ==(也可以使用=) !=  
      < <= 和 > >=
      实际使用 &gt; &gte; &lt; &lte;
  
   4).逻辑操作符 Logical operations
      ||  &&   !


8.freemarker循环map
  freemarker 当前只支持key为string的情况,不支持Integer等.
  <#list names?keys as key>
      key:${key} ---> ${names[key]}
  </#list>

  另外如果是HashMap, key是无序的
  使用LinkedHashMap, key是有序的.
分享到:
评论

相关推荐

    超强freemarker使用总结,有示例有讲解,可做快速查询手册!!

    ### Freemarker 使用总结与详解 #### 一、Freemarker 概述 Freemarker 是一种用于生成动态页面的模板引擎。它不依赖任何 Web 容器,可以在任何 Java 应用程序中使用。Freemarker 的核心优势在于其简单易学且功能...

    freemarker资料汇总

    再来看《Freemarker使用总结》和《freemarker笔记》。这些文档通常是个人或团队在实践中积累的经验总结,它们可能包含了一些最佳实践、技巧或者常见问题的解决方案。通过阅读这些笔记,你可以快速掌握Freemarker在...

    Freemarker语法总结

    Freemarker语法总结 Freemarker是一种基于模板的模板引擎,主要用来生成静态 HTML 页面。FreeMarker 模板文件由四个部分组成:文本、注释、插值和 FTL 指令。 一、文本 文本是 Freemarker 模板文件的直接输出部分...

    Freemarker学习总结.pdf

    以下是对Freemarker中Sequence、Hash以及字符串操作函数的详细说明。 一、Sequence的内置函数: 1. `sequence?first`:返回Sequence的第一个元素,如果Sequence为空,返回null。 2. `sequence?last`:返回Sequence...

    sitemesh和freemarker结合自我总结

    ### Freemarker与Sitemesh结合的关键知识点 #### 一、简介 - **Freemarker**:作为一...通过上述步骤,可以有效地将Freemarker和Sitemesh结合使用,实现动态内容与静态布局的分离,提高Web应用的开发效率和可维护性。

    Java中使用 FreeMarker 生成pdf盖章合同文件

    本篇文章将深入探讨如何在Java中使用FreeMarker生成带有盖章的PDF合同文件。 首先,让我们了解FreeMarker的基本概念。FreeMarker是一个基于模板的语言,它与Java代码分离,允许开发者用简单的模板语法来表示数据。...

    freemarker.jar用于jdk1.8下使用

    总结来说,Freemarker.jar是Java Web开发中一个强大的模板引擎,它与JDK 1.8兼容,能有效地将数据和视图分离开,使前端展示与后端业务解耦。在实际项目中,了解和掌握Freemarker的使用技巧,可以极大地提高开发效率...

    FreeMarker使用介绍

    ### FreeMarker使用详解 #### 一、快速入门:模板+数据模型=输出 FreeMarker是一种强大的模板引擎,专为Web开发设计,它基于一个核心理念:设计者和程序员应专注各自的专业领域,即设计者负责视觉表现,如HTML、...

    grails使用freemarker.rar

    总结来说,这个压缩包内容可能包括如何在Grails项目中配置和使用FreeMarker,以及如何处理领域类之间的关系映射,特别是“one2many”关系。通过学习这些知识,开发者可以更有效地构建Grails应用,并利用FreeMarker...

    jdk1.8下可以使用的freemarker.jar

    Freemarker是一个强大的模板引擎,它允许程序员...总结,`freemarker.jar`在Java 8环境下的使用,意味着开发者可以借助其强大的模板语言和Java 8的特性,高效地构建动态内容生成系统,同时保持代码的清晰性和可维护性。

    freemarker&velocity的使用

    总结,Freemarker和Velocity都是强大的模板引擎,它们能够帮助开发者高效地实现动态内容的生成。理解并掌握这两种工具,对于提升Java Web开发能力至关重要。通过阅读提供的"freemarker语法.doc"文档,你可以深入了解...

    freemarker总结

    其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替&gt;会有更好的效果,因为 FreeMarker会把&gt;解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:(x&gt;y)&gt; ...

    Java 用Freemarker导出word文档总结

    总结,通过Java结合FreeMarker和第三方库,我们可以方便地生成Word文档。FreeMarker的模板语法使得文档结构和内容易于维护,而Apache POI等库则负责将模板转换为Word格式。这种组合为开发人员提供了灵活且强大的文档...

    Spring配置Freemarker视图解析器,前台页面全部使用freemarker渲染

    总结来说,通过Spring配置Freemarker视图解析器,我们可以将后端的Java逻辑与前端的HTML呈现分离,使得开发更加模块化。Freemarker的强大模板语言则提供了丰富的功能,让开发者能方便地创建动态页面。通过熟练掌握...

    使用freemarker扩展struts标签

    总结一下,使用FreeMarker扩展Struts2标签是提高Web应用开发效率和代码质量的有效手段。通过创建自定义的标签和模型,开发者可以更好地抽象出复杂的业务逻辑,使得视图层更易于管理和维护。在实际项目中,这不仅可以...

    freemarker 中文手册 总结 语法

    本篇文章将对Freemarker中文手册中的关键语法进行详尽的总结。 ### 1. 基本语法 #### 1.1 变量表达式 `${}` Freemarker中最基本的元素是变量表达式,以`${}`包裹。例如`${name}`会输出变量`name`的值。如果变量不...

    FreeMarker通用的分页

    在IT领域的模板引擎技术中,FreeMarker是一种广泛使用的开源模板引擎,它被设计用于生成文本输出,如HTML、XML或纯文本。FreeMarker提供了一种灵活且强大的方式来处理动态内容,尤其适用于Web开发中的视图层。在...

    如何使用Freemarker生成java代码

    总结,Freemarker是一个强大且灵活的工具,通过合理的数据模型设计和模板编写,可以方便地生成各种Java代码,极大地提高了开发效率。正确理解和运用Freemarker,将使你在代码生成任务上事半功倍。

Global site tag (gtag.js) - Google Analytics