FreeMarker 对null值的处理技巧

纵饮孤独 提交于 2019-11-27 00:46:57

以下引用官方描述: 

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')},同上

以下引用官方描述: 

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')},同上

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!