我通过您更新的资源在速度1.6中使用$ null来了解空检查。 资源:Reading model objects mapped in Velocity Templates 但我面临如此多的挑战,因为没有提供有关此问题的文档,因此没有$ null用于null检查速度。 请向我提供说明$ null的文档,对于null check in velocity有效。
先谢谢 幸运
答案 0 :(得分:83)
要检查变量是否为空,只需使用#if($ variable)
#if ($variable) ... do stuff here if the variable is not null #end
如果你需要做的话,如果变量为null,则只是否定测试
#if (!$variable) ... do stuff here if the variable is null #end
答案 1 :(得分: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)" => 如果为真,则必须为空。这是真的,因为“假和空字符串而不是空”永远不会为真。恕我直言,这使得 模板太复杂,无法阅读。