關於「集」的補充:從模板設計者角度看,集是有限制的序列。無法獲取大小,也無法通過索引取出子變量,但仍可使用 list 指令遍歷。
用法與編程語言類似。例如調用計算平均值的方法 avg():
此處直接調用 avg(3, 5) 計算平均值。
即自定義的 FreeMarker 標簽:
FreeMarker 編程代碼(即模板/FTL)大致包含三部分:文本、插值、FTL 標簽。詳細介紹請參閱《FreeMarker 初步學習》。
# 開頭,自定義指令以 @ 開頭。${(5+8)/2} 輸出 6.5。<#if expression> 表達式必須為布爾類型。
直接書寫 true 和 false 即表示布爾值,無需引號。
使用逗號分隔子變量,整體放入方括號:
可用 start..end 定義數字範圍序列,如 2..5 等同於 [2,3,4,5]。前者內存佔用少、速度快、效率更高。
在模板中指定哈希表,用逗號分隔「鍵/值」對,放入花括號。鍵值以冒號分隔。例如:
{"name":"green mouse","price":150}
假設哈希表結構如下:
讀取 title 有兩種方式:
book.titlebook["title"]以下示例等價:
book.author.name
book["author"].name
book.author["name"]
book["author"]["name"]