自定義指令是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>