FreeMarker
1、指令
list
列表显示内容;
语法:
<#list 集合名称 as 变量名>
显示的内容
</#list>
eg:
<table border=1>
<#list animals as animal>
<tr>
<td>${animal.name}<td>${animal.price} Euros
</#list>
</table>
if
过滤模板内容;
语法:
<#if condition>
过滤的内容
<#elseif condition2 >
条件为2时的过滤
<#else>
不符合条件
</#if>
== :判断它两侧的值是否相等的操作符, 比较的结果是布尔值,也就是true或者false;
assign
创建一个新的变量, 或者替换一个已经存在的变量;
语法:
<#assign name1=value1 name2=value2 ... nameN=valueN>
或 <#assign same as above... in namespacehash>
或 <#assign name>
capture this
</#assign>
或 <#assign name in namespacehash>
capture this
</#assign>
name:变量名 =:赋值符号 value:值
macro
创建一个宏变量;
语法:
<#macro name param1 param2 ... paramN>
...
<#nested loopvar1, loopvar2, ..., loopvarN>
...
<#return> ... </#macro>
name:宏变量名称
param1:局部变量名称
function
创建一个方法变量;
语法:
<#function name param1 param2 ... paramN> ... <#return returnValue> ... </#function>
name:方法变量的名称param1:局部变量名称
local
创建一个新的变量, 或者替换一个已经存在的变量(仅在宏和方法的内部定义才会有作用);
语法:
<#local name=value>
或<#local name1=value1 name2=value2 ... nameN=valueN>
或<#local name> capture this </#local>
name:局部变量名称 =:赋值符号 value:值
2、处理不存在的变量
语法1:变量名+!+值
当变量不存在时,显示!后面的默认值;
eg:<h1>Welcome ${user ! "visitor"}</h1>
语法2:变量名+??
校验变量是否为空;
eg:<#if user??><h1>Welcome ${user}!</h1></#if>