freemarker处理null数据的变量


官方:这部分对程序员而言: 一个不存在的变量和一个是 null 值的变量, 对于FreeMarker来说是一样的,所以这里所指的"丢失"包含这两种情况。

1. ${变量!'默认值'}

例子:

Welcome ${user!"visitor"}!


解释:当 user 不存在于数据模型时, 模板将会将 user 的值表示为字符串 "visitor"。(当 user 存在时, 模板就会表现出 ${user} 的值)

2. <#if 变量??>

例子:<#if user??>

Welcome ${user}!


解释:在变量名后面通过放置 ?? 来询问一个变量是否存在。将它和 if 指令合并, 那么如果 user 变量不存在的话将会忽略整个问候的代码段

3. 时间类型处理不为空的情况

  • 格式化datetime的时间为yyyy-MM-dd:
${(data.birthday?string('yyyy-MM-dd'))!}
${(data.birthday?string('yyyy-MM-dd'))!'默认值'}

相关