最近工作遇到一个freemarker的问题,记录一下。
前台页面 进行了属性的判空,采用的是
<#if user.phone??>
这里的 ?? 只是判断user.phone的 phone 是属性是不是null,并不能判断 是不是空字符串。
由于后台对user 对象 进行了处理,导致从数据库中查出来的phone 字段的值 由 原来的 null 变成了空字符串 “”
使前台页面属性判断是不是null 失效了。
注意:
判断属性是不是null ,使用
<#if user.phone??> 或者 <#if user.phone !=null>
判断属性是不是空串“”,使用
<#if user.phone !="">
如果判断逻辑是数据库中该字段不为空,在页面上判断,我这里采用的是
<#if user.phone?? && user.phone !="">
避免后台的修改,导致前台的判断逻辑失效。
如有错误,欢饮指正。