freemarker处理null数据的变量
官方:这部分对程序员而言: 一个不存在的变量和一个是 null 值的变量, 对于FreeMarker来说是一样的,所以这里所指的"丢失"包含这两种情况。
1. ${变量!'默认值'}
例子:Welcome ${user!"visitor"}!
解释:当 user 不存在于数据模型时, 模板将会将 user 的值表示为字符串 "visitor"。(当 user 存在时, 模板就会表现出 ${user} 的值)
2. <#if 变量??> #if>
例子:<#if user??>
Welcome ${user}!
#if>
解释:在变量名后面通过放置 ?? 来询问一个变量是否存在。将它和 if 指令合并, 那么如果 user 变量不存在的话将会忽略整个问候的代码段
3. 时间类型处理不为空的情况
- 格式化
datetime
的时间为yyyy-MM-dd
:
${(data.birthday?string('yyyy-MM-dd'))!}
${(data.birthday?string('yyyy-MM-dd'))!'默认值'}