Velocity用戶指南(中文版)(2)

 

引用(References)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

VTL3種類型的引用:變量、屬性和方法。作爲一個設計者,必須和Java工程師在VTL引用的名稱(標識符)上一致,以便在模板中使用它們。引用是作爲String對象處理的。

1)變量

變量的格式:$VTL標識符

VTL標識符以字母開始,由字母、數字、橫劃線(-)或下劃線(_)組成。變量或者從模板中的set指令獲得值(如前面的例子),或者Java代碼(同名變量)中獲得值。Velocity只處理已定義的變量引用,對於沒有定義的變量引用,Velocity原樣返回。例如下面的例子:

輸出結果是:$moon = gibbous

2)屬性

屬性的格式:$VTL標識符. VTL標識符

下面是屬性引用的例子:

拿第一例子來說,有兩種意思:

l         返回Hashtable對象customer中鍵值爲Address的值

l         $customer.getAddress()方法引用的縮寫(JavaBean屬性的getter方法)

至於是哪種情況,Velocity會做決定,返回合適的值。

3)方法

方法的格式:$VTL標識符(參數列表)

下面是方法引用的例子:

前面兩個例子可以縮寫成屬性引用(如屬性引用的例子)。屬性引用和方法引用的主要區別是方法引用可以指定參數列表。

4)正式引用符號:{}

正式引用符號在使用變量引用含糊的地方進行區分。看下面的例子:

輸出結果是:Jack is a $vicemaniac.$vicemaniac沒有定義,原樣輸出)

輸出結果是:Jack is a kleptomaniac.(使用正式引用符號將$vice和其它文本區分開)

5Quit引用符號:!

看下面的例子:

初始時,$email沒有值,所以文本框中會顯示值$email,而更希望是空白。下面是使用Quit引用符號的例子:

$email沒有值時,Velocity會用空串替代$email

6)特殊字符轉義

對於$#等特殊字符要正常顯示,可以使用/進行轉義,//轉義爲/。下面是一個例子:

輸出結果是:

/$email

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章