12.3.2 关系和逻辑操作符
Velocity 使用等式操作符来决定两个变量间的关系。这里是一个简单的例子演示如何使用等式操作符:
#set ($foo = "deoxyribonucleic acid")
#set ($bar = "ribonucleic acid")
#if ($foo == $bar)
In this case it's clear they aren't equivalent. So...
#else
They are not equivalent and this will be the output.
#end
Velocity 也具有逻辑AND, or 和 NOT 操作符。更进一步的信息,请看VTL参考手册VTL Reference Guide 。下面是一些演示如何使用逻辑操作符的例子:
## logical AND
#if( $foo && $bar )
<strong> This AND that</strong>
#end
例子中#if() 指令仅在$foo 和$bar 斗为真的时候才为真。如果$foo 为假,则表达式也为假;并且 $bar 将不被求值。如果 $foo 为真,Velocity 模板引擎将继续检查$bar;的值,如果 $bar 为真,则整个表达式为真。并且输出This AND that 。如果 $bar 为假,将没有输出因为整个表达式为假。
逻辑OR 的工作方式相同,唯一的例外是其中一个表达式要被求值,以便决定整个表达式是否为真。请看下面的例子:
## logical or
#if( $foo || $bar )
<strong>This or That</strong>
#end
如果 $foo 为真,Velocity 模板引擎就不需要去察看$bar 的值,不管 $bar 是否为真,真个表达式都为真,因此输出This or That 。如果 $foo 为假,$bar 就必须检查其值了。在这种情况下,如果$bar 也是为假,表达式将为假,没有任何输出。当然,如果$bar 为真,则真个表达式为真,输出This or That。
对于逻辑NOT 操作符,只有一个操作数:
##logical NOT
#if( !$foo )
<strong>NOT that</strong>
#end
这里,如果$foo 为真,!$foo 求值为假,没有输出。如果$foo 为假,!$foo 求值为真,输出NOT that 。请当心,不要和安静引用quiet reference $!foo 混淆它们是完全不同的。
当前内容版权归 wizardforcel 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 wizardforcel .