用了一年多的freemarker,用得多了,碰到的语法就越来越多,觉得有必要做一个总结,总结我所见到且有用的,这个语法总结以后碰到新的freemarker语法也会更新进来,也算是做笔记了,好记性不如烂笔头嘛~
一、输出变量
1、字符串
${data.name?if_exists} // 变量存在,输出该变量,否则不输出
${data.name!} // 变量存在,输出该变量,否则不输出
2、日期
${data.datetime?string("yyyy年MM月dd日")}
${data.datetime?string('yyyy-MM-dd HH:mm:ss')}
${data.datetime?string('yyyy年MM月dd日 HH时mm分ss秒')}
3、默认值
${data.name?default('XX')} // 变量不存在,取默认值XX
${data.name!"xxx"} // 变量不存在,取默认值xxx
4、数字格式
${data.money?string.number} // 输出80
${data.money?string.currency} // ¥80.00
${data.money?string.percent} // 80%
${2.333?int} // 将小数转为int,输出2
${'111.11'?number} // 输出111.11
5、布尔类型
<#assign bl=true />
${bl?string("yes","no")} //输出yes
${bl?string} //输出true
注意:布尔值必须转换为字符串才能输出
二、内部函数的使用
1、使用+号来拼接字符串
${"您好,"+name}
${"您好,${name}"}
${str + name}
2、使字符