如何处理Freemarker中的null
值?当数据中存在null
值时,模板中会出现一些例外情况。
答案 0 :(得分:77)
您可以使用??
测试运算符:
检查对象的属性是否为null:
<#if object.attribute??></#if>
检查对象或属性是否为空:
<#if (object.attribute)??></#if>
答案 1 :(得分:71)
从freemarker 2.3.7开始,您可以使用this syntax:
${(object.attribute)!}
或者,如果要在属性为null
时显示默认文本:
${(object.attribute)!"default text"}
答案 2 :(得分:2)
我认为它的另一种方式
<#if object.attribute??>
Do whatever you want....
</#if>
如果object.attribute
为非NULL,则会打印内容。
答案 3 :(得分:0)
在??
声明的末尾使用 <#if>
运算符。
此示例演示如何处理Freemaker模板中两个列表的null
值。
List of cars:
<#if cars??>
<#list cars as car>${car.owner};</#list>
</#if>
List of motocycles:
<#if motocycles??>
<#list motocycles as motocycle>${motocycle.owner};</#list>
</#if>
答案 4 :(得分:0)
如果您有问题,我想添加更多上下文,这是我尝试过的。
img
这更像是 Javascript IF 和 ELSE 概念,我们想通过所需的逻辑检查这个值或另一个链接。
场景:客户的 ID 和名称组合在一起,例如 13242 Harish,所以我们的利益相关者需要唯一的名称,所以我尝试了这个 ${record.entity?keep_after(" ") } 并且它确实有效,但是,它只能在您有空间时才能工作,但是当客户没有空间和一个名称时,我不得不执行一些 IF ELSE 条件来检查 Null 值。
答案 5 :(得分:-3)