这里列举出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>
"苦练七十二变,才能笑对八十一难。"