Velocity if else标签详解


Java Velocity中if指令用于判断某个条件是否为true,允许在页面生成时,在IF条件为真的情况下包含文本。

定义

#if(condition)  
......
#elseif(condition2)  
......
#else  
......
#end

变量condition先求值,以决定是否为真。如果condition为false,则在判断condition2是否为true,如果condition2为false,则执行else里面的代码。

if逻辑运算

#if($foo && $bar<10)
...
#end
#if($foo || $bar)
...
#end
#if(! $foo )
...
#end
  1. &&、||、!这三个符号分别对应逻辑运算AND、OR、NOT

  2. &&和||是有短路效应的。一旦前一个就可以判断真假,后面的条件不再进行判断

例子

#if($msg)  
<script>  
alert('$!msg');  
</script>  
#end

上面的脚本表示当对象msg对象存在时,输出<script>等后面的内容。

#if( $foo < 10 )
    <strong>Go North</strong>
#elseif( $foo == 10 )
    <strong>Go East</strong>
#elseif( $bar == 6 )
    <strong>Go South</strong>
#else
    <strong>Go West</strong>
#end

$foo 大于10,所以前面两个比较失败。接下来比较$bar 和6,结果为真,所以输出为Go South。