Apache Velocity Java模板引擎v1.7官方版是一款基於Java開發的模板引擎,使用它,可以讓任何人都能使用強大的模板語言來定義Java代碼中的對象,它提供了HTML頁麵模板、email模板,可以給網頁製作人員提供一種簡單的語法,方便Web設計人員更好的進行Web開發,有需要的歡迎下載使用。
模板引擎的設計思想最早由Webmacro提出,並被應用在一個著名的搜索引擎www.altavista.com上。後來,這種思想漸漸被Apache開發小組所采用,並作為一個子項目被提出來,這就是現在的Velocity。
模板引擎與MVC中視圖部分的關係更為密切。Velocity可以應用在任何需要格式化數據顯示的Java程序中。那麼Velocity到底是什麼呢?它的官方解釋是:“Velocity是一種基於Java的模板引擎,它允許任何人使用簡單而強大的模板語言來引用定義在Java代碼中的對象。”
很容易集成在各種各樣的程序領域中;
為網頁製作人員提供了一種清晰而簡單的語法;
因為模板和代碼是分離的,所以可以分別獨立的開發和維護它們;
Velocity引擎可以很容易地集成到一些Java運行環境,特別是Servlet minixaizai中;
Velocity使得模板可以訪問任何環境對象中的共有方法。
Velocity的強大之處還在於它嚴格地區分程序開發功能的職責劃分。它通過限製模板可能訪問的對象(即後台程序允許其得到的對象)來實現這一點。這意味著網頁設計人員可以隻把精力放在數據的顯示部分(View),而程序員則隻要關注如何寫好程序的控製層(Controller)、商業邏輯與數據管理(Model)。這就是典型的MVC開發模式,它簡化了開發和日益複雜的應用和維護工作。
◆ 基於Servlet的網站製作;
◆ Java和SQL代碼生成;
◆ XML處理和轉換;
◆ 文字處理,比如生成trf文件等。
不過,Velocity用得最多的還是在基於Java Servlet的網頁程序中做生成網頁的引擎,以替代JSP等技術。除了使用比較容易外,它提供了強大的模板語言來顯示和操作數據。注意,不是生成數據,這點很重要,因為生成工作應該是程序邏輯的部分。
Velocity非常適合在J2EE(Java 2 Platform,Enterprise Edition minixaizai)的網站開發中替代JSP,做輸出頁麵的技術工作。雖然JSP包含在J2EE規範中,但是J2EE本身並不需要JSP。
velocimcro.library屬性
指定自己的模板庫,多個模板庫以逗號分隔。默認情況下,velocity查找唯一的一個庫:VM_global_library.vm
velocimacro.permissions.allow.inline屬性
是否允許開發者在普通模板內定義Velocity宏。
velocimacro.permissions.allow.inline.replace.global屬性
是否允許設計者使用本地的inline的 宏替代全局的宏(全局的宏是指在velocimacro.library屬性中指定的文件內定義的宏)。默認情況下,此值為false。這樣就阻止本地的宏覆蓋全局的。
velocimacro.permissions.allow.inline.local.scale屬性
inline定義的宏是否僅僅在被定義的template內可見, 默認是false minixaizai。 換句話說,如果這個屬性設置為true,一個inline定義的宏隻能在定義它的template內使用。
velocimacro.context.localscope屬性
默認值為false。當設置為true時,任何在宏內通過#set()對context的修改被認為是針對此宏的本地設置,而不會永久的影響內容。
velocimacro.library.autoreload屬性
控製宏庫的自動加載。默認是false。當設置為ture時,對於一個宏的調用將自動檢查原始庫是否發生了變化,如果變化將重新加載它。這個屬性使得你可以不用重新啟動servlet容器而達到重新加載的效果,就像你使用regular模板一樣。這個屬性可以使用的前提就是resource loader緩存是off狀態(file.resource.loader.cache = false)。注意這個屬性實際上是針對開發而非產品的。
Velocity宏的一些說明
Velocity宏必須定義在它們被使用之前,也就是說,你的#macro()聲明應該出現在使用宏之前。特別要注意的是,當你試圖#parse()一個包含#macro()的模板時候。因為#parse()發生在運行期,但是解析器在parsetiem決定一個看似VM元素的元素是否是一個VM元素,這樣#parse()-ing一組VM聲明將不按照預期的樣子工作。為了得到預期的結果,隻需要你簡單的使用velocimacro.library使得Velocity在啟動時加載你的VMs。
140.5M / 09-05
76.4M / 03-25
55M / 06-05
237.9M / 04-13
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
484.7M / 09-27
165.4M / 09-05
353.9M / 06-05
131.8M / 04-13
195.6M / 03-03
45.6M / 09-08
665.2M / 07-06
2.84G / 07-06
93M / 07-06
338.3M / 07-06
1.38G / 07-26
488.3M / 07-16
109.8M / 06-03
142M / 01-08
1.2M / 11-23
548.8M / 04-13
1.6M / 04-13
1.48G / 03-18
646.6M / 03-03
133.7M / 03-03
110.5M / 09-05
33.4M / 09-05
325.8M / 08-12
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
369M / 09-22
181.5M / 09-22
201.2M / 09-05
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
1.76G / 09-22
1.92G / 04-17
116.2M / 04-10
201.5M / 04-13
7.31G / 07-01
94.3M / 07-06
2.48G / 07-06
7.63G / 07-06
1M / 07-06
778.1M / 07-06
561.8M / 07-11
72M / 07-06
548.7M / 07-06
1.00G / 07-06
9.13G / 07-06
126.2M / 07-06
72M / 07-06
105.1M / 07-06
132M / 07-06
132M / 07-06