如何处理null
Freemarker 中的值?null
当数据中存在值时,我在模板中遇到一些异常。
问问题
158687 次
5 回答
120
从 freemarker 2.3.7 开始,您可以使用以下语法:
${(object.attribute)!}
或者,如果您想在属性为 时显示默认文本null
:
${(object.attribute)!"default text"}
于 2014-12-23T04:46:46.637 回答
109
您可以使用??
测试运算符:
这将检查对象的属性是否不为空:
<#if object.attribute??></#if>
这将检查对象或属性是否不为空:
<#if (object.attribute)??></#if>
资料来源:FreeMarker 手册
于 2012-12-19T10:35:59.697 回答
5
我认为它以另一种方式工作
<#if object.attribute??>
Do whatever you want....
</#if>
如果object.attribute
不为空,则将打印内容。
于 2014-08-05T15:12:35.103 回答
1
如果您有问题,我想添加更多上下文,这就是我尝试过的。
<#if Recipient.account_type?has_content>
… (executes if variable exists)
<#else>
… (executes if variable does not exist)
</#if>
这更像是 Javascript IF 和 ELSE 概念,我们要检查该值是否通过所需的逻辑链接。
场景:客户的 ID 和名称组合在一起,如13242 Harish,所以我们的利益相关者需要唯一的名称,所以我尝试了这个${record.entity?keep_after(" ")}并且它确实有效,但是,它只能在以下情况下工作你有空间,但是当客户没有空间和一个名字时,我不得不做一些 IF ELSE 条件来检查 Null 值。
于 2021-06-10T19:23:14.630 回答
1
在语句??
末尾使用运算符。<#if>
此示例演示如何处理null
Freemaker 模板中两个列表的值。
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>
于 2015-08-27T12:54:17.413 回答