Velocity模版引擎使用總結

Velocity是一個基於java的模板引擎。它容許任何人僅僅簡單的使用模板語言來引用由java代碼定義的對象。java

當Velocity應用於web開發時,界面設計人員能夠和java程序開發人員同步開發一個遵循MVC架構的web站點,也就是說,頁面設計人員能夠只 關注頁面的顯示效果,而由java程序開發人員關注業務邏輯編碼。Velocity將java代碼從web頁面中分離出來,這樣爲web站點的長期維護提 供了便利,同時也爲咱們在JSP和PHP以外又提供了一種可選的方案。web

Velocity基本語法和使用:數組

1. "#"用來標識Velocity的腳本語句。session

如:#set、#if 、#else、#foreach、#end、#include、#parse、#macro等。架構

2. "$"用來標識一個對象(或理解爲PHP的變量)函數

如:$i、$user等。編碼

3. "{}"用來明確標識Velocity變量,和普通模版字符串區分開來;spa

如:${user}‘s age 能夠顯示爲 riqi's age。設計

4. "!"強制把不存在的變量顯示爲空白。code

如:$!msg,假如msg對象爲空,則模版中不顯示該變量;若是缺乏"!",則顯示$msg字符串,這是咱們不想要的結果。

5. 變量的定義和賦值。不須要指定變量的類型,相似弱類型語言PHP能夠隨意指定,在賦值後自動斷定變量的類型,如:

#set($username="riqi") ##設置用戶名
#set($age=26) ##設置年齡

6. 數組循環

#foreach ($user in $users)
    $!{user} $!{velocityCount} <br /> 
#end

$users能夠是Vector、Hashtable或者Array,Velocity提供了獲得循環次數的值:$velocityCount。

7. 語句註釋

單行註釋:## 單行註釋代碼

多行註釋:#* 多行註釋代碼 *#

8. 模版支持關係和邏輯操做符運算,如:&&、||、! 等

9. 宏定義:#macro ,相似PHP聲明一個函數,其中有函數名稱和參數列表。先定義再調用。

10. 終止命令:#stop,相似PHP的exit(); 中止執行模板引擎並返回。

11. 引入公共模版文件:#include與#parse,它們的差別是:

(1) 與#include不一樣的是,#parse只能指定單個對象。而#include能夠有多個

若是您須要引入多個文件,能夠用逗號分隔就行:

#include ("one.gif", "two.txt", "three.htm" )

在括號內能夠是文件名,可是更多的時候是使用變量的:

#include ( 「greetings.txt」, $seasonalstock )

(2) #include被引入文件的內容將不會經過模板引擎解析;

而#parse引入的文件內容Velocity將解析其中的velocity語法並移交給模板,意思就是說至關與把引入的文件copy到文件中。

#parse是能夠遞歸調用的。

12. 轉義字符'\'.

這個和其它語言沒有差別,假如:$user="riqi"; 那麼,\$user 表示輸出 $user字符串,\\$user表示輸出\riqi。

13. Velocity內置了一部分java對象 如:$request、$response、$session等,在vm模版裏能夠直接調用。

------------------------------------------------------------------------------------

細節整理:

1. Velocity判斷某個變量是否爲空的方式:

#if($!變量名)……#else……#end

或者:

#if("" == $!varName)……#else……#end
相關文章
相關標籤/搜索