能夠?qū)⑽谋镜闹到馕鰹楹?,類似動態(tài)指令用法如下
<#assign x=["a", "b", "c"]>
<#assign templateSource = "<#list x as y>${y}</#list>">
<#assign inlineTemplate = templateSource?interpret>
<@inlineTemplate />
其中"<#list x as y>${y}</#list>"可以是從數(shù)據(jù)庫中讀取出來的指令
2, ?new
創(chuàng)建一個java對象
<#assign word_wrapp = "com.acmee.freemarker.WordWrapperDirective"?new()>
還可以在new的時候加參數(shù),如
<#assign word_wrapp = "com.acmee.freemarker.WordWrapperDirective"?new(40)>
3, !!和??
兩個簡寫符號,可以讓我偷電纜(偷點懶)
${obj.name!!} = ${obj.name?default('')}
<#if obj?? > = <#if obj?exists>
4, ; in macro 和 nest的參數(shù)
原本以為<#nest/>不能加參數(shù),在構(gòu)造模板時費了一些勁,原來可以用;在引用macro時給nest傳參數(shù)











5, include里的通配符*
好像可以應(yīng)對不固定文件夾層級路徑的寫法,但具體沒用過
<#include "*/footer.ftl">
匹配如下
/foo/bar/footer.ftl
/foo/footer.ftl
/footer.ftl
6 字符串轉(zhuǎn)換為數(shù)字
<#assign width="234"/>
<#assign widthNum=width?eval/>
7 split字符串



