FreeMarker 对null值的处理技巧

以下引用官方描述: 

The FreeMarker template language doesn't know the Java language null at all. It doesn't have null keyword, and it can't test if something is null or not.

  

1.判断是否存在,通过exists关键字或者"??"运算符。都将返回一个布尔值 
user.name?exists 
user.name?? 

<#if user.name?exists>
 //TO DO
</#if>
 
<#if user.age??>
 //TO DO
</#if>

  

2.忽略null值 
假设前提:user.name为null 
${user.name},异常 
${user.name!},显示空白 
${user.name!'vakin'},若user.name不为空则显示本身的值,否则显示vakin 
${user.name?default('vakin')},同上 
${user.name???string(user.name,'vakin')},同上

posted @ 2018-02-12 10:11  星朝  阅读(454)  评论(2编辑  收藏  举报