天天看點

Velocity入門指南

velocity主要目的簡化web動态頁面的開發,能夠更加清晰地把view和其他mvc元件差別開。velocity不但可以用于開發web頁面,同時也可以用于開發獨立運作的應用程式,比如sql或xml。可以直接支援turbine web 應用架構,以及servlets、texan等。view和model通過context來進行資料關聯,将對應的模闆渲染成html頁面。

velocity模闆引擎,通過上下文來處理model和view中的資料資訊,模闆引擎通過vtl文法來渲染html頁面。和基本的語言一樣,vtl文法中少不了變量和文法兩方面的内容。模闆檔案和通常的html網頁沒有太多的差別,基本上是在html嵌入vtl文法。

velocity中代碼注釋使用##,隻能單行注釋。

velocity中的轉義字元”,對于代碼中輸出指令語句等使用

引用類型包括了三種基本類型,變量、屬性和方法。

變量都是開始的,其對應的屬性和方法通路方式和java對象的通路方式是一樣的。在velocity模闆中通常可以引用的對象是java.lang.object對象,在模闆引擎中使用變量時,隻可以使用屬性和對應的方法,針對java對象的特殊文法,在模闆引擎中不可以使用。比如數組的[],隻能通過get方法替代。變量通常可以通過context上下文加載,并由模闆引擎來處理。在模闆中使用!符号時,velocity引擎預設不對空值進行處理。

通常用于程式調試,使用#stop指令,告訴模闆引擎後面的模闆不再執行。

include指令用于引入其他的檔案,引入的檔案将會被當做靜态檔案來處理。

parse指令和include指令類似,也是用于引入其他的外部檔案。不同的是parse引入的檔案通常是動态檔案,并且parse指令中允許嵌套。

set指令可以用于建立一個新的執行個體,或者更新一個已經存在的執行個體。set指令中也支援基本的資料運算

支援的基本文法#if/#else/#elseif/#end,判斷條件也支援<, >, <=, >=, !=, ==,這和java标準文法是一緻的。

和java中的文法相同,用于循環執行

該文法中支援數組類型的對象,對應java中的對象有collection, map, iterator,enumeration,listing(如linkedlist)類型。

提供了一個構模組化闆代碼複用的機制,類似于java中的函數。

sessioin、request、$response