#Freemarker学习知识点(四)
###插值函数 ${变量、宏或值!缺少值?内建函数} 例如: ${ (user!"guest")?upper_case} 意思就是输出user的大写,如果user是空的,则输出GUEST。 在插值的内建函数有很多,常见的如: string(....),主要是做输出格式转换 ${.now?string("yyyy-MM-dd")} ${.now?iso_utc} ${1993712.02?c}
substring 取子串
cap_first 句首字母大写
uncap_first 首字母小写
capitalize 所有单词首字母大写
chop_linebreak 切断换行符
date(),time(),datetime() 日期,时间,时间日期,括号中写格式。如"1996/8/9".date("yyyy/MM/dd")
ends_with() 判断是否以…结尾
html HTML格式的转义文本 <用<替换; >用>替换; &用&替换; "用"替换;示例:${user?html}
index_of 索引所在位置, "abcabc"?index_of("bc", 2)会返回4。
j_string Java语言规则的字符串转义,将string转义为java源码格式。
json_string JSON规则的字符串转义
last_index_of 最后的索引所在位置, 例如:"abcabc"?last_index_of("ab", 2)。
length 字符串长度
lower_case 小写形式
left_pad 距左边填充 ${"abcd"?left_pad(8, "-")}
right_pad 距右边,右填充 ${"abcd"?right_pad(8, ".oO")}
contains 是否包含 <#if "piceous"?contains("ice")>It contains "ice"</#if>
matches 正则表达式匹配,精确匹配返回true,否则是false
number 数字格式,字符串转化为数字格式
replace 替换,${"this is a car acarus"?replace("car", "bulldozer")}, "foo"?replace("","|"),就会得到"|f|o|o|"
rtf 富文本,也就是转义, \替换为\\ , {替换为\{ , }替换为\}
url URL转义
split 分割,例如:"some,,test,text,"?split(",")
starts_with 是否以…开头
trim 修整字符串
upper_case 大写形式
word_list 获得词列表。例如" a bcd, . 1-2-3"?word_list,会得到[a][bcd,][.][1-2-3],以空格分隔
xhtml XHTML格式,字符串作为XHTML格式文本输出
xml xml格式
| 内建函数 | i(忽略大小写) | r(正则表达式) | m(多行模式) | s(dot-all模式) | c(whitesp和注释) | f(仅第一个) | | ------------------------------------------------------------------------------------ | replace | 是 | 是 | 只和r | 只和r | 只和r | 是 | | split | 是 | 是 | 只和r | 只和r | 只和r | 否 | | match | 是 | 忽略 | 是 | 是 | 是 | 否 |
###数字相关内建函数 <#assign x=42> ${x?string.number} ${x?string.currency} ${x?string.percent} ${x?string.computer} string你可以使用Java中数字格式语法写的任意的数字格式,${x?string("0.##")} round,floor,ceiling 数字的舍入处理 first 第一个序列子变量 last 最后一个子变量 seq_contanis 序列包含 seq_index_of 第一次出现…时的位置 seq_last_index_of 最后一次出现..的位置 reverse 反转序列 size 序列大小 sort 排序 sort_by 以…来排序 chunk 区块 keys 键的集合