這里列舉出Freemarker模板文件中8個常用的指令。
1. assign
assign指令用於創建或替換一個頂層變量,assign指令的用法有多種,包括創建或替換一個頂層變量,創建或替換多個變量等。
示范代碼:
<#assign x> <#list [“星期一”, ”星期二”, ”星期三”, “星期四”, ”星期五”, ”星期六”, ”星期日”] as n> ${n} </#list> </#assign>
2. break
break指令用於跳出迭代。
示范代碼:
<#list [“星期一”, ”星期二”, ”星期三”, “星期四”, ”星期五”, ”星期六”, ”星期日”] as x> ${x_index + 1}.${x}<#if x_has_next>,</if> <#if x=”星期四”><#break></#if> </#list>
3. switch、case、default
switch, case, default這些指令都是分支指令,作用類似於Java中的switch語句。
示范代碼:
<#switch x> <#case x = 1>1 <#case x = 2>2 <#case x = 3>3 <#default>d </#switch>
如果x=1輸出1,如果x=2輸出2,如果x=3輸出3,x=4輸出d。
4. if、else if、else
else指令是一個典型的分支控制指令,作用完全類似於Java語言中的if。
示范代碼:
<#assign age = 23> <#if (age > 60)>老年人 <#else if (age > 40)>中年人 <#else if (age > 20)>青年人 <#else>少年人 </#if> </#assign>
5. escape
escape指令導致body區的插值都會被自動加上escape表達式,但不會影響字符串內的插值,只會影響到body內出現的插值。
示范代碼:
<#escape x as x?html> First Name:${firstName} Last Name:${lastName} Maiden Name:${maidenName} </#escape>
6. import
import指令用於導入FreeMarker模版中的所有變量,並將該變量放置在指定的Map對象中。
示范代碼:
<#import “/libs/myLib.ftl” as my>
7. include
include指令用於包含指定頁,作用類似於JSP的包含指令。
示范代碼:
<#include “/common/copyright.ftl” encoding=”GBK”>
8. list
list指令是一個迭代輸出指令,用於迭代輸出數據模型中的集合
示范代碼:
<#list [“星期一”, ”星期二”, ”星期三”, “星期四”, ”星期五”, ”星期六”, ”星期日”] as x> ${x_index + 1}.${x}<#if x_has_next>,</if> <#if x=”星期四”><#break></#if> </#list>
"苦練七十二變,才能笑對八十一難。"