取值
${student}:获取变量student的值。${student.id}:获取变量student中id属性的值。
直接输出字符串
${"hello freemarker"}:直接输出字符串 “hello freemarker”。
if 判断
<#if student.id == 0>:如果student.id等于 0,则执行内部代码块。<#else if student.id == 1>:如果student.id等于 1,则执行内部代码块。<#else>:如果以上条件都不满足,则执行内部代码块。
比较运算符
==:判断两个值是否相等。!=:判断两个值是否不等。>或gt:判断左边值是否大于右边值。>=或gte:判断左边值是否大于等于右边值。<或lt:判断左边值是否小于右边值。<=或lte:判断左边值是否小于等于右边值。&&:逻辑与。||:逻辑或。
List 集合(数组)
<#list arrays as item>:遍历数组arrays中的每个元素,并将其分配给变量item。${item_index}:获取当前元素的索引。${item.id}:获取当前元素的id属性。
Map 集合(字典)
<#if map??>:如果map变量不为 null,则执行内部代码块。<#list map?keys as key>:遍历map中的键,并将其分配给变量key。key:${key!}:获取当前键。value:${map[key]!}:获取当前键对应的值。
日期类型转换
${date?date}:解析日期。${date?time}:解析时间。${date?datetime}:解析日期和时间。${date?string('yyyy/MM/dd HH:mm:ss')}:使用指定格式自定义日期字符串。
null 值的处理
!:指定缺失变量的默认值。??:判断某个变量是否存在。${val!}:如果val为 null,则输出空白。${val!"默认值"}:如果val为 null,则指定默认值。
用 if 判断 null 值
<#if val??>:如果val不为 null,则执行内部代码块。<#else>:如果val为 null,则执行内部代码块。