08-freemarker基础-空值处理

本文介绍在Freemarker模板引擎中如何处理空值,避免遍历空数组或引用空对象时出现错误。通过使用??和!操作符来判断变量是否存在及设置默认值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将数组添加map中,代码进行注释,前端代码进行遍历列表时,就会报错
在这里插入图片描述
在这里插入图片描述

怎么解决?

空值处理
1、判断某变量是否存在使用 “??” 用法为:variable??,如果该变量存在,返回true,否则返回false
例:为防止stus为空报错可以加上判断如下:

 <#if stus??>     
 <#list stus as stu>     
  ......          
  </#list>    
   </#if>

2、缺失变量默认值使用 “!” 使用!要以指定一个默认值,当变量为空时显示默认值。 例: ${name!’’}表示如果name为空显示空字符串。

${name!''}

如果是嵌套对象则建议使用()括起来。例: ${(stu.bestFriend.name)!’’}表示,如果stu或bestFriend或name为空默认显示空字符串。
注释红线代码,会报错
在这里插入图片描述

<#if stuMap?? && stuMap.stu1??>
姓名:${stuMap['stu1'].name}<br/>
年龄:${stuMap['stu1'].age}<br/>
</#if>
 ${(stu.bestFriend.name)!''}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值