Velocity(6)——#if指令


下面是#If指令的一個簡單而完整的示例:

#if ($foo < 10)
    Go North
#elseif ($foo == 10)
    Go East
#else
    Go West#end                   不能漏掉

#if指令用於判斷某個條件是否為true。以上面的代碼為例,當$foo < 10為true時,將會顯示"Go North"。

有時會看到這樣一種寫法:#if($foo) ... #end。這里充當判斷條件的是一個變量$foo,它在兩種情況下是true:一是$foo作為布爾值(Boolean)並且其值為true,二是$foo是一個非布爾值並且值不為null。

關系運算

Velocity的關系運算中有一個==。它和Java中的==不太一樣。java中==嚴格判斷兩個對象是否是同一個對象(內存地址是否是同一個,是否是同一個類的對象),而不是判斷它們的值是否相同(兩個String的字面值是否相同要使用equals()方法)。而Velocity中的==可以直接比較數值,字符串以及其他對象,如果==兩側的對象是不同的類的對象,在比較前會用toString()轉換后再比較。

邏輯運算

Velocity的邏輯運算有AND、OR、NOT三個。表現在語法上是&&、||、!這三個符號。下面是幾個示例:

#if($foo && $bar<10)
...
#end

#if($foo || $bar)
...
#end

#if(! $foo )
...
#end

需要注意的是,&&和||是有短路效應的。一旦前一個就可以判斷真假,后面的條件不再進行判斷。另外,要特別注意$!foo和!$foo的區別。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM