自定义指令是freemarker里最牛的东西,在freemarker中我们使用<#macro>指令来自定义指令。
例1:
<#macro hello><#--macro后面紧跟的是函数名-->
<#assign str="hello"/>${str}
</#macro>
调用上面的自定义指令的方法是<@hello/>
例2:
<#macro hello num ok> <#--对于这个hello函数而言,它包含两个参数,一个是num 一个是ok-->
<#list 1..num as n>
hello${ok}${n}
</#list>
</#macro>
在调用上面的hello函数的时候 需要传递参数
<@hello num=5 ok="world"/> <#--需要特别注意的是,参数名不能省略-->
如果函数指定了默认参数值
如:ok="World",那么我们在传递参数的时候就可以不用传递这个参数。
例3:
<#nested/>指令,它用来执行指令开始和结束标记之间的模板片段
首先定义一个指令
<#macro hello>
<#nested/>
<#nested/>
</#macro>执行指令
<@hello>奥运会</@hello>