<转>FreeMarker内置函数

一、 Sequence的内置函数
1. sequence?first 返回sequence的第一个值。
2. sequence?last 返回sequence的最后一个值。
3. sequence?reverse 将sequence的现有顺序反转,即倒序排序
4. sequence?size 返回sequence的大小
5. sequence?sort 将sequence中的对象转化为字符串后顺序排序
6. sequence?sort_by(value) 按sequence中对象的属性value进行排序
二、 Hash的内置函数
1. hash?keys 返回hash里的所有key,返回结果为sequence
2. hash?values 返回hash里的所有value,返回结果为sequence
例如:
<#assign user={“name”:“hailang”, “sex”:“man”} />
<#assign keys=user?keys />
<#list keys as key>
${key}=${user[key]}
</#list>
三、 操作字符串函数
1. substring(start,end)从一个字符串中截取子串
start:截取子串开始的索引,start必须大于等于0,小于等于end
end: 截取子串的长度,end必须大于等于0,小于等于字符串长度,如果省略该参数,默认为字符串长度。
例子:
${‘str’?substring(0)},结果为str
${‘str’?substring(1)},结果为tr
${‘str’?substring(2)},结果为r
${‘str’?substring(3)},结果为
${‘str’?substring(0,0)},结果为
${‘str’?substring(0,1)},结果为s
${‘str’?substring(0,2)},结果为st
${‘str’?substring(0,3)},结果为str
2.cap_first 将字符串中的第一个单词的首字母变为大写。
${‘str’?cap_first},结果为Str
3. uncap_first将字符串中的第一个单词的首字母变为小写。
${‘Str’?cap_first},结果为str
4. capitalize将字符串中的所有单词的首字母变为大写
${‘str’?capitalize},结果为STR
5. date,time,datetime将字符串转换为日期
例如:
<#assign date1=”2009-10-12”?date(“yyyy-MM-dd”)>
<#assign date2=”9:28:20”?time(“HH:mm:ss”)>
<#assign date3=” 2009-10-12 9:28:20”?time(“HH:mm:ss”)>
${date1},结果为2009-10-12
${date2},结果为9:28:20
${date3},结果为2009-10-12 9:28:20
注意:如果指定的字符串格式不正确将引发错误。

posted @ 2013-12-24 21:43  于辰  阅读(271)  评论(0编辑  收藏  举报