`
- 浏览:
259810 次
- 性别:
- 来自:
未定
-
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 > 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
==(也可以使用=) !=
< <= 和 > >=
实际使用 > >e; < <e;
4).逻辑操作符 Logical operations
|| && !
8.freemarker循环map
freemarker 当前只支持key为string的情况,不支持Integer等.
<#list names?keys as key>
key:${key} ---> ${names[key]}
</#list>
另外如果是HashMap, key是无序的
使用LinkedHashMap, key是有序的.
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
### Freemarker 使用总结与详解 #### 一、Freemarker 概述 Freemarker 是一种用于生成动态页面的模板引擎。它不依赖任何 Web 容器,可以在任何 Java 应用程序中使用。Freemarker 的核心优势在于其简单易学且功能...
再来看《Freemarker使用总结》和《freemarker笔记》。这些文档通常是个人或团队在实践中积累的经验总结,它们可能包含了一些最佳实践、技巧或者常见问题的解决方案。通过阅读这些笔记,你可以快速掌握Freemarker在...
Freemarker语法总结 Freemarker是一种基于模板的模板引擎,主要用来生成静态 HTML 页面。FreeMarker 模板文件由四个部分组成:文本、注释、插值和 FTL 指令。 一、文本 文本是 Freemarker 模板文件的直接输出部分...
以下是对Freemarker中Sequence、Hash以及字符串操作函数的详细说明。 一、Sequence的内置函数: 1. `sequence?first`:返回Sequence的第一个元素,如果Sequence为空,返回null。 2. `sequence?last`:返回Sequence...
### Freemarker与Sitemesh结合的关键知识点 #### 一、简介 - **Freemarker**:作为一...通过上述步骤,可以有效地将Freemarker和Sitemesh结合使用,实现动态内容与静态布局的分离,提高Web应用的开发效率和可维护性。
本篇文章将深入探讨如何在Java中使用FreeMarker生成带有盖章的PDF合同文件。 首先,让我们了解FreeMarker的基本概念。FreeMarker是一个基于模板的语言,它与Java代码分离,允许开发者用简单的模板语法来表示数据。...
总结来说,Freemarker.jar是Java Web开发中一个强大的模板引擎,它与JDK 1.8兼容,能有效地将数据和视图分离开,使前端展示与后端业务解耦。在实际项目中,了解和掌握Freemarker的使用技巧,可以极大地提高开发效率...
### FreeMarker使用详解 #### 一、快速入门:模板+数据模型=输出 FreeMarker是一种强大的模板引擎,专为Web开发设计,它基于一个核心理念:设计者和程序员应专注各自的专业领域,即设计者负责视觉表现,如HTML、...
总结来说,这个压缩包内容可能包括如何在Grails项目中配置和使用FreeMarker,以及如何处理领域类之间的关系映射,特别是“one2many”关系。通过学习这些知识,开发者可以更有效地构建Grails应用,并利用FreeMarker...
Freemarker是一个强大的模板引擎,它允许程序员...总结,`freemarker.jar`在Java 8环境下的使用,意味着开发者可以借助其强大的模板语言和Java 8的特性,高效地构建动态内容生成系统,同时保持代码的清晰性和可维护性。
总结,Freemarker和Velocity都是强大的模板引擎,它们能够帮助开发者高效地实现动态内容的生成。理解并掌握这两种工具,对于提升Java Web开发能力至关重要。通过阅读提供的"freemarker语法.doc"文档,你可以深入了解...
其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替>会有更好的效果,因为 FreeMarker会把>解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:(x>y)> ...
总结,通过Java结合FreeMarker和第三方库,我们可以方便地生成Word文档。FreeMarker的模板语法使得文档结构和内容易于维护,而Apache POI等库则负责将模板转换为Word格式。这种组合为开发人员提供了灵活且强大的文档...
总结来说,通过Spring配置Freemarker视图解析器,我们可以将后端的Java逻辑与前端的HTML呈现分离,使得开发更加模块化。Freemarker的强大模板语言则提供了丰富的功能,让开发者能方便地创建动态页面。通过熟练掌握...
总结一下,使用FreeMarker扩展Struts2标签是提高Web应用开发效率和代码质量的有效手段。通过创建自定义的标签和模型,开发者可以更好地抽象出复杂的业务逻辑,使得视图层更易于管理和维护。在实际项目中,这不仅可以...
本篇文章将对Freemarker中文手册中的关键语法进行详尽的总结。 ### 1. 基本语法 #### 1.1 变量表达式 `${}` Freemarker中最基本的元素是变量表达式,以`${}`包裹。例如`${name}`会输出变量`name`的值。如果变量不...
在IT领域的模板引擎技术中,FreeMarker是一种广泛使用的开源模板引擎,它被设计用于生成文本输出,如HTML、XML或纯文本。FreeMarker提供了一种灵活且强大的方式来处理动态内容,尤其适用于Web开发中的视图层。在...
总结,Freemarker是一个强大且灵活的工具,通过合理的数据模型设计和模板编写,可以方便地生成各种Java代码,极大地提高了开发效率。正确理解和运用Freemarker,将使你在代码生成任务上事半功倍。