Velocity是什么
Velocity是一個基于java的模板引擎,類似與Freemarker。
為啥要用模板引擎
- 模板引擎的速度要比jsp快,因為JSP需要編譯成servlet。
- 將數(shù)據(jù)(Date)和模板(View)分離,讓不同的角色只關(guān)注自己的部分。
Velocity和Freemarker的比較
- 功能上:FreeMarker的功能比Velocity多,是Velocity的超集。
- 使用上:Velocity更加簡單和輕量級。
Velocity Template Language (VTL)
基本原則
:使用$字符開始的用于得到什么;使用#字符開始的用于作些什么。如下
a) 變量:#set( $foo = "gibbous" ) $moon = $foo
b) 屬性:$customer.Address
c) 方法:$customer.getAddress()
注意感嘆號!:用來強制把不存在的變量顯示為空白,所以強烈建議加上!,如$!message。在Freemarker里也建議這樣。
其他的在使用中可以參考文檔
Velocity學習指南.doc
。
Velocity的工作原理
三步了解Velocity的大致原理。
我覺得Velocity是由上至下逐行掃描模板,當掃描到占位符(如$和#)的時候,通過JAVA的反射機制(或者cglib直接生成字節(jié)碼)調(diào)用JAVA的屬性和方法,生成最終數(shù)據(jù)。
學習資料
官方網(wǎng)址:
http://velocity.apache.org/engine/releases/velocity-1.7/
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
