Velocity初步學習筆記
一. 初識Velocity
Velocity是一個基於Java的模板引擎,它的作用與JSP相似,都是用來顯示前端界面的,但是它們之間的區別在於Velocity只是用於顯示數據,並不像JSP可以穿插Java代碼,而Velocity擁有類似EL標籤的稱之爲VTL的模板語言,能夠爲頁面提供動態內容。
使用Velocity的意義在於分離前後端,遵循MVC架構。這種特質讓我回想起了曾經學習PHP時使用過的Smarty模板引擎,以及另一種基於Java的HTTL模板引擎,它們都有一些相同的地方。我想模板引擎的出現就是爲了更好的讓前端開發人員與後端開發人員合作:前端人員不必關心數據來源和生成方式,他只需確信會有數據並直接使用變量名顯示數據即可,後端人員也不必再去關心前端頁面如何展示,他只需關注數據處理即可。這樣前後端就能同時進行開發工作,使工作變得更加高效。同時,也能減輕維護工作的壓力。
二. Hello Velocity
似乎每次學習一門程序語言時,總以Hello World或者Hello XXX這樣的實例開始。這次也不例外,那就從Hello Velocity開始吧!
Step 1:從官網http://velocity.apache.org/download.cgi下載Velocity的jar包。
Step2:創建一個普通的Java項目,我將其起名爲HelloVelocity。
Step3:在項目中引用Velocity的jar包。
Step4:創建一個Java文件,我將其起名爲HelloVelocity.java。
Step5:在項目下創建一個Velocity模板,我將其起名爲HelloVelocity.vm。
以上5步完成後,就可以開始實踐啦~首先編輯Java文件,主要過程分五步:
1. 初始化模板引擎
2. 獲取模板文件
3. 取得velocity的上下文context
4. 把數據填入上下文
5. 輸出
然後編輯Velocity模板,這裏用到了VTL語言,它們都以#字符開始:
1.#set()。這個指令用於賦值,括號內是一個表達式,可以將值付給變量,變量都是以$字符開始。
2.#foreach()。很明顯,這個指令用於循環,最後要以#end結尾。
3.##。單行註釋以##字符開始,並在本行結束。
4.#**#。多行註釋以#*字符開始,以*#字符結束。
5.#***#。這是一個註釋塊,以#**字符開始,以*#字符結束。
接下來運行Java文件,結果就會輸出在控制檯。
以上,就是一個簡單的Velocity實例初步應用!