1、取值(插值)指令
2、邏輯指令:if、switch
3、字元串、集合操作
4、自定義函數
5、list排序内建函數、常用指令
6、自定義指令
7、freemarker常用内建函數
7.1 處理字元串内建函數
7.2 處理數字的内建函數
7.3 處理list的内建函數
7.4 其他内建函數
8、macro、function指令
8.1 宏macro、nested、return指令
8.2 函數function、return指令
變量的定義、指派、運算:
自定義對象User變量的取值:
${(userObj.name)!}:對整體加一個()括号,則先判斷前面的userObj是否存在,然後判斷後面的.name是否存在;
${(userObj.name)!‘我是預設值’}:Freemarker對單引号和雙引号沒有差別。
輸出富文本:
集合List的周遊:
集合Map的周遊:
if多條件判斷:||、&&、!
Switch文法:包含switch,case,break,default;
自定義函數(整數排序 sort_int)

内置指令用#;
自定義指令用@;
substring、cap_first(首字母變大寫的函數)、ends_with(以…結尾)、contains(字元串是否包含目标字元串);
date、datetime、time。如何把字元串轉為這三個格式的類型。
starts_with(字元串以…開始)、index_of(字元串所在的位置)、last_index_of(字元串最後所在的位置)、spilt(分割,傳回的是數組)、trim(把空和空格去掉)。
string、x?string(“0.##”);小數點後幾位
round(四舍五入)、floor(把小數點後去掉)、ceiling;
first(第一個值)、last(最後一個值)、seq_contains(序列是否包含)、seq_index_of(序列位置);
size、reverse、sort、sort_by(如果List是個對象,則可跟進某個屬性進行排序)
chunk(将List分塊處理)
is函數:is_string、is_number、is_method;判斷變量類型;
()、has_content函數。
eval求值。