FreeMarker 对null值的处理技巧

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

  1. <#if user.name?exists>

  2. //TO DO

  3. </#if>

  4.  
  5. <#if user.age??>

  6. //TO DO

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

! :default value operator,语法结构为:unsafe_expr!default_expr,

      比如 ${mouse!"No mouse."} 当mouse不存在时,返回default value;
      (product.color)!"red"  这种方式,能够处理product或者color为miss value的情况; 
       而product.color!"red"将只处理color为miss value的情况


?? : Missing value test operator ,测试是否为missing value 
       unsafe_expr?? :product.color??将只测试color是否为null
      (unsafe_expr)??:(product.color)??将测试product和color是否存在null 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值