摘要: freemarker自定義指令就像struts2的set標籤,為了好理解,也可以認為是定義乙個方法,就像js的function.在freemarker中的這個標籤就是macro。在定義乙個指令的時候,可以指定引數,當然也可以不指定,這裡要注意了,我這裡只貼出模板檔案及輸出結果,freemarker的工具類請參照freemarker入門教程,其實也沒有什麼改變,直接拿過來用即可
freemarker自定義指令就像struts2的set標籤,為了好理解,也可以認為是定義乙個方法,就像js的function.在freemarker中的這個標籤就是macro。在定義乙個指令的時候,可以指定引數,當然也可以不指定,這裡要注意了,我這裡只貼出模板檔案及輸出結果,freemarker的工具類請參照freemarker入門教程,其實也沒有什麼改變,直接拿過來用即可
自定義乙個不帶引數的指令
<#macro hello>
helloworld
<@hello/>
helloworld
自定義乙個帶引數的指令
如果指令帶有引數,在用這個指令的時候,引數名是不能省略的,要不會出異常
<#--
對於hello
這個自定義指令而言,
hello
後的都是引數,有兩個引數乙個是
num乙個是
ok-->
<#macro hellonum
ok>
<#list 1..numas n>
<#--<@hello/>
會報錯,因為
hello
有兩個引數
,在定義引數的值的時候引數名不能省略
-->
<@hellonum=3ok="world"/>
自定義指令的同時給引數定義了初始值,此時在呼叫該指令就可以省略引數,如果省略會使用預設值
<#--
為repeat
的兩個引數定義了初始值,此時在呼叫該指令就可以省略引數,如果省略會使用預設值
-->
<#macro repeatnum=10ok="world">
<#list 1..numas n>
<@repeat/>
nested標籤會輸出指令中的內容
<#macro test>
<#--nested
會輸出指令中的內容
-->
<#nested 12 33/>
<#nested 11 22/>
<#nested 22 33/>
<@test;x,y>
freemarker自定義指令
freemarker 自定義指令
自定義指令可以使用,marco指令來進行定義 巨集 是有乙個變數名的模板片段,在模板中使用巨集作為自定義指令,這樣就能供其他頁面使用。hello joe macro 指令只是用來建立巨集變數,自身不輸出任何內容,所以就會有乙個名為 greet 的變數。在 macro greet 和 之間的內容 稱為...
Freemarker自定義指令
在做乙個cms 時,要列出 欄目,比如有新聞,科技,體育,財經等欄目。欄目內容存放在資料庫中。沒有迴圈變數 user def dir exp param1 val1 param2 val2 paramn valn 有迴圈變數 user def dir exp param1 val1 param2 v...
FreeMarker自定義指令
摘要 freemarker自定義指令就像struts2的set標籤,為了好理解,也可以認為是定義乙個方法,就像js的function.在freemarker中的這個標籤就是macro。在定義乙個指令的時候,可以指定引數,當然也可以不指定,這裡要注意了,我這裡只貼出模板檔案及輸出結果,freemark...