FreeMarker数据基础二
2010-07-02 15:25:00| 分类: FreeMarker 2.3.1 | 标签: |字号大中小 订阅
1.String
特殊字符表示:
特殊字符表示 | 意义 |
---|---|
\" | " (u0022) |
\' | ' (u0027) |
\\ | \ (u005C) |
\n | 换行 (u000A) |
\r | 回车 (u000D) |
\t | 水平制表 (u0009) |
\b | 退格 (u0008) |
\f | 换页 (u000C) |
\l | < |
\g | > |
\a | & |
\xCode | 十六进制Unicode码 (UCS码),\x后为1到四位的十六进制数 |
可以在String中插入表达式(${}或者#{})
例1:
|
或者使用+号:
| |||
输出:
| ||
为了表明此为原String,没有什么特别意义,则可以在插入标签中加入r
例2:
| ||
输出:
| ||
检索字符:
例3:user值为"Big Joe''
| ||
输出:
| |||
2.Numbers
注意不能省略小数分隔符前的0(如.5应写成0.5)。FreeMarker中=在逻辑判断语句中等价于==。
运算时Numbers可以自动转化成String,而String不能转化为Numbers。
例如下:
| ||
输出:
35
如果希望只得到结果整数部分,可以如下写:
| ||
输出:
| ||
3.Booleans
4.Sequences (序列)
例4:
| |||
输出:
| |||
用+连接序列(尽管串联序列很快[取决于被串联序列的长度],但是结果序列的读取将比直接读取两个序列要慢一些):
例5:
| ||
输出:
| ||
序列检索:
形式为Seq[firstindex..lastindex],如果检索到末尾,则lastindex可以省略
(!注意:在FreeMarker 2.3.3之后lastindex才可以省略)
例6:
如果seq存储了 "a", "b", "c", "d", "e", "f",则:
表达式 seq[1..4]将输出:
"b", "c", "d", "e"
表达式seq[3..]将输出:
"d", "e", "f"
5.Hashes(哈希)
一组由key和value组成的列表,如:{"name":"green mouse", "price":150}
(!注意:FreeMarker中[]可以替代<>)
和String一样,哈希也可以使用+串联两个哈希,如果出现重名,+右边的哈希有优先权
例7:
| ||
输出:
| ||