【发布时间】:2021-05-18 21:01:09
【问题描述】:
我通过您更新的资源了解了在速度 1.6 中使用 $null 进行空值检查。 资源:Reading model objects mapped in Velocity Templates 但是我面临着如此多的挑战,因为没有提供关于此的文档,所以没有 $null 用于空检查速度。 请向我提供说明 $null 对 null check in velocity 有效的文档。
提前致谢 幸运
【问题讨论】:
我通过您更新的资源了解了在速度 1.6 中使用 $null 进行空值检查。 资源:Reading model objects mapped in Velocity Templates 但是我面临着如此多的挑战,因为没有提供关于此的文档,所以没有 $null 用于空检查速度。 请向我提供说明 $null 对 null check in velocity 有效的文档。
提前致谢 幸运
【问题讨论】:
要检查变量是否不为空,只需使用#if ($variable)
#if ($变量) ...如果变量不为空,请在此处执行操作 #结尾如果你需要在变量为空的情况下做一些事情,只需否定测试
#if (!$变量) ...如果变量为空,请在此处执行操作 #结尾【讨论】:
NullTool 吗?它似乎不在velocity-tools 2.0中。
方法 1:使用 null 被评估为错误条件的事实。 (参见http://velocity.apache.org/engine/devel/user-guide.html#Conditionals)
#if( ! $car.fuel )
注意:如果 $car.fuel 的结果是 布尔假。这种方法实际上检查的是 引用为 null 或 false。
方法 2:使用 null 在安静引用中被评估为空字符串的事实。 (参见http://velocity.apache.org/engine/devel/user-guide.html#quietreferencenotation)
#if( "$!car.fuel" == "" )
注意:如果 $car.fuel 的结果是 空字符串。这种方法实际上检查的是 引用为空或为空。顺便说一句,只需检查是否为空即可 实现者:
#if( "$car.fuel" == "" )
方法 3:结合方法 1 和 2。这将只检查 null 和 null。
#if ((! $car.fuel) && ("$!car.fuel" == ""))
注意:这里的逻辑是:“(null or false) and (null or
empty-string)" => 如果为真,则必须为空。这是真的,因为“假和空字符串而不是空”永远不会为真。恕我直言,这使得 模板太复杂,无法阅读。
【讨论】: