欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

freemarker中空值,null值,“”值的判断

程序员文章站 2022-07-14 09:41:08
...

<#if letVo.manageScore!="">
   ${html('${(letVo.manageScore)!}')} 
</#if>

 当letVo有值,manageScore为“”时(不是null),必须使用<#if letVo.manageScore!="">来判读,之前在项目中使用了<#if letVo.manageScore??> 结果 ${html('${(letVo.manageScore)!}')} 页面一样

会显示,使用 ${html('${(letVo.manageScore)!“0”}')}时,页面也不会显示0,主要是原因如下:

 

!: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
?exists:旧版本的用法
比如:<#if mouse??>
Mouse found
< #else>
No mouse found
< /#if>
Creating mouse...
< #assign mouse = "Jerry">
< #if mouse??>
Mouse found
< #else>
No mouse found
< /#if>