一,FreeMarker的插值有如下两种类型:
1,通用插值${expr};
2,数字格式化插值:#{expr}或#{expr;format}
例如:
${book.name?if_exists } //用于判断如果存在,就输出这个值
{book?string.number} 20 //三种不同的数字格式
{book?string.currency}--<#--
二,内置函数:
调用区别于属性的访问,使用?代替.
{person} </#macro> 调用带参数时,注意使用类似XML的属性格式进行传递,不需要关心顺序问题 <@greet person="Fred" color="black"/> 参数默认值定义,如果没有,就必须要求传递完整的参数列表 <#macro greet person color="black"> <font size="+2" color="
for循环的精简版:
<#list 1..count as x> </#list> 宏的循环变量,配合嵌套标签进行参数传递, <#macro repeat count> <#list 1..count as x> <#nested x, x/2, x==count> //这里的三个参数,将会传递到嵌套内容中 </#list> </#macro> <@repeat count=4 ; c, halfc, last> {r"..."}进行过滤