1. 程式人生 > >velocity模板常用語法

velocity模板常用語法

Velocity 是一個基於java的模板引擎(templateengine). 它可以讓檢視的設計者在web頁面中引用java程式碼中定義的資料物件和命令。從而使Webdesigners和java開發者依照MVC思想(Model-View-Controller)開發系統,這意味著Webdesigners只須將精力注用於良好表現力的檢視外觀設計,而Java程式設計師則只要關心著如何寫出高效簡潔的java物件以實現業務邏輯-----Velocity會將他們組裝到一起. 相比傳統的jsp、PHP等指令碼語言,Velocity徹底的將避免了在檢視設計中出現的java程式碼, 從而保證了web site的長期可維護性. 

常用語法羅列如下,簡單、易學。在絕大數應用中,只需要掌握如下這些常用語法,基本上都能滿足需求。

(1) 變數Variables

在模板中設定變數:#set( $a = "Velocity" )

在模板中需要用到java物件的成員變數或者方法,即物件的Properties(屬性):,例如 $customer.Address,為了防止輸出原文,在$後加上! 若值不存在,則顯示為空;

屬性引用中的屬性查詢規則

前己提及,屬性可以引用到物件的命令.Velocity會使用合適的策略選擇引用到的命令. 它會根據協定的命令命令格式查詢. 無論屬性引用的的名字是否大小寫,Velocity都有固定的查詢規則.如在$customer.address引用時,查詢順序是:

1.  getaddress()

2.  getAddress()

3.  get("address")

4.  isAddress() 

(2)註釋Comments

單行註釋 ##

多行註釋#*     *#

(3) 迴圈foreach:

#foreach( $mud in $muds)

   #set $index = $velocityCount      ##迴圈的次數,從1開始

do something 

#end

(4)條件判斷if

#if( $!num > 1)

    do something 

#end

(5)Parse(解析模板)

當需要引入一些公用的頭模板或者底部(footer)等等,就可以建立一個公共的模板,讓其他模板引用解析即可。

#parse元素指示可以引入一個包含TVL的本地檔案,這個檔案將被Veloict engine解析輸出。.#parse( "head.vm" )

與#include指令不同,#parse可以從引入的模板中得到變數引用.但#parse指令只能接受一個引數

(6)Include(引入)

#include指令碼元素讓模板設計者可以在模板中引入一個本地檔案, 這個被引入的檔案將不會經過Velocity的解析.