数据模型
数据模型是哈希表
数据类型
支持的类型有:
- 标量
- 字符串
- 数字
- 布尔值
- 日期
- 容器
- 哈希表
- 序列
- 集
- 子程序
- 方法和函数
- 用户自定义指令
- 其他
- 节点
标量
标量是最基本,最简单的数值类型。
字符串
简单的文本。
如果想在模板中直接给出字符串的值,而不是使用数据模型中的变量,那么将文本卸载引号内即可,例如“green mouse”。
数字
整数和非整数是不区分的,只有单一的数字类型
布尔值
在模板中可以使用保留字 true 和 false 来指定布尔值。
日期
共三种变化:
精确到天的日期,比例 April 4,2003
每天的时间(不包括日期部分),比如10:19:18PM,时间的存储精确到毫秒
日期-时间(时间戳),比如April 4, 2013 10:19:18 PM,时间部分精确到毫秒
容器
存储在哈希表,序列(集)中的变量可以是任意类型的,这些变量也可以是哈希表,序列,这样就可以构建任意深度的数据结构。
容器的类型有:
哈希表
每个子变量都可以通过一个唯一的名称来查找,这个名称是不受限制的字符串。
序列
每个子变量通过一个整数来标识。第一个子变量的标识符是 0,第二个是 1,第三个是 2。子变量是有顺序的。
集
集是有限制的序列。
子程序
方法和函数
方法是来自于数据模型(反射了Java对象的方法);函数是定义在模板内的(函数指令)
用户自定义指令
也就是FreeMarker标签。
其他
节点