最常用的概念 1、 scalars:存储单值 字符串:简单文本由单或双引号括起来。 数字:直接使用数值。 日期:通常从数据模型获得 布尔值:tru e 或 false,通常在<#if … >标记中使用 2、 hashes:充当其它对象的容器,每个都关联一个唯一的查询名字 具有一个唯一的查询名字和他包含的每个变量相关联。 3、 sequ ences:充当其它对象的容器,按次序访问 使用数字和他包含的每个变量相关联。索引值从 0 开始。 4、 集合变量: 除了无法访问它的大小和不能使用索引来获得它的子变量:集合可以看作只能由<#list...>指令使用的受限sequ ences。 5、 方法:通过传递的参数进行计算,以新对象返回结果 方法变量通常是基于给出的参数计算值在数据模型中定义。 6、 用户自定义 FTL 指令:宏和变换器 7、 节点 节点变量表示为树型结构中的一个节点,通常在XML 处理中使用。 在模板里对sequences 和hashes 初始化 sequences 1. [―you‖,‖me‖,‖he‖] 2. 1..100 3. [ {―Akey‖:‖Avalue‖},{―Akey1‖:‖Avalue1‖}, {―Bkey‖:‖Bvalue‖},{―Bkey1‖:‖Bvalue1‖}, ] hashes {―you‖:‖a‖,‖me‖:‖b‖,‖he‖:‖c‖} 注释标志 <#-- 这里是注释 --> 旧版本的freemarker 采用的是<#comment> 注释 #comment>方法 sequences 内置方法 sequence?first 返回sequence 的第一个值;前提条件 sequence 不能是null sequence?last 返回sequence 最后一个值 sequence?reverse 反转 sequence 的值 sequence?size 返回sequence 的大小 sequence?sort 对sequence 按里面的对象 toString()的结果进行排序 sequence?sort_by(value) 对sequence 按里面的对象的属性 value 进行排序 如: sequence 里面放入的是10 个 user 对象,user 对象里面包含 name,age 等属性 sequence?sort_by(name) 表示所有的user 按 user.name 进行排序 hashes 内置方法 hash?keys 返回hash 里的所有keys, 返回结果类型sequence hash?values 返回hash 里的所有value, 返回结果类型sequence 模板 使用FTL(freeMarker 模板语言)编写 组成部分 一、整体结构 1、注释:<#--注释内容-->,不会输出。 2、文本:直接输出。 3、interpolation:由 ${var} 或 #{var} 限定,由计算值代替输出。 4、FTL 标记 二.表达式 1、直接指定值: 1-1、字符串: 由双引号或单引号括起...