一、字符串輸出:
${"Hello ${name} !"} / ${"Hello " + name + " !"}
<#assign cname=r"特殊字符完成輸出(http:\www.baidu.com)">
${cname}
二、字符串截取 :
通過下標直接獲取下標對應的字母: ${name[2]}
起點下標..結尾下標截取字符串:${name[0..5]}
三、算數運算:
<#-- 支持"+"、"-"、"*"、"/"、"%"運算符 -->
<#assign number1 = 10>
<#assign number2 = 5>
"+" : ${number1 + number2}
"-": ${number1 - number2}
"*" : ${number1 * number2}
"/" : ${number1 / number2}
"%" : ${number1 % number2}
四、比較運算符:
<#if number1 + number2 gte 12 || number1 - number2 lt 6>
"*" : ${number1 * number2}
<#else>
"/" : ${number1 / number2}
</#if>
運算符類型:
1. > (gt): 大於號,推薦使用gt
2. < (lt): 小於號,推薦使用lt
3. >= (gte): 大於等於, 推薦是用gte
4. <= (lte)::小於等於,推薦使用lte
5. == : 等於
6. != : 不等於
六、內置函數:
<#assign data = "abcd1234">
第一個字母大寫:${data?cap_first}
所有字母小寫:${data?lower_case}
所有字母大寫:${data?upper_case}
<#assign floatData = 12.34>
數值取整數:${floatData?int}
獲取集合的長度:${users?size}
時間格式化:${dateTime?string("yyyy-MM-dd")}
七、空判斷:
<#if users??>
<#list users as user >
${user.id} - ${user.name}
</#list>
<#else>
${user!"變量爲空則給一個默認值"}
</#if>
八、Map集合:
<#assign mapData={"name":"程序員", "salary":15000}>
直接通過Key獲取Value值:${mapData["name"]}
通過Key遍歷Map:
<#list mapData?keys as key>
Key: ${key} - Value: ${mapData[key]}
</#list>
通過Value遍歷Map:
<#list mapData?values as value>
Value: ${value}
</#list>
九、List集合:
<#assign listData=["ITDragon", "blog", "is", "cool"]>
<#list listData as value>${value} </#list>
十、引入其他文件:
<#include "otherFreeMarker.ftl" />
十一、命名空間:
<#import "otherFreeMarker.ftl" as otherFtl>
${otherFtl.otherName}
<@otherFtl.addMethod a=10 b=20 />
<#assign otherName="修改otherFreeMarker.ftl中的otherName變量值"/>
${otherFtl.otherName}
<#assign otherName="修改otherFreeMarker.ftl中的otherName變量值" in otherFtl />
${otherFtl.otherName}