欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Velocity-初體驗(yàn)

系統(tǒng) 2404 0

Velocity是什么

Velocity是一個(gè)基于java的模板引擎,類似與Freemarker。

為啥要用模板引擎

  • 模板引擎的速度要比jsp快,因?yàn)镴SP需要編譯成servlet。
  • 將數(shù)據(jù)(Date)和模板(View)分離,讓不同的角色只關(guān)注自己的部分。

Velocity和Freemarker的比較

  • 功能上:FreeMarker的功能比Velocity多,是Velocity的超集。
  • 使用上:Velocity更加簡(jiǎn)單和輕量級(jí)。

Velocity Template Language (VTL)

基本原則 :使用$字符開始的用于得到什么;使用#字符開始的用于作些什么。如下
a) 變量:#set( $foo = "gibbous" ) $moon = $foo
b) 屬性:$customer.Address
c) 方法:$customer.getAddress()
注意感嘆號(hào)!:用來(lái)強(qiáng)制把不存在的變量顯示為空白,所以強(qiáng)烈建議加上!,如$!message。在Freemarker里也建議這樣。
其他的在使用中可以參考文檔 Velocity學(xué)習(xí)指南.doc 。

Velocity的工作原理

三步了解Velocity的大致原理。

?
              import java.io.StringWriter; 
import org.apache.velocity.VelocityContext; 
import org.apache.velocity.Template; 
import org.apache.velocity.app.Velocity; 
import org.apache.velocity.exception.ResourceNotFoundException; 
import org.apache.velocity.exception.ParseErrorException; 
import org.apache.velocity.exception.MethodInvocationException; 
  
Velocity.init(); 
//1:構(gòu)建一個(gè)上下文,用來(lái)存放數(shù)據(jù)(date)。 
VelocityContext context = new VelocityContext(); 
context.put( "name", new String("Velocity") ); 
Template template = null; 
try
{ 
   //2:讀取模板(View) 
   template = Velocity.getTemplate("mytemplate.vm"); 
} 
catch( ResourceNotFoundException rnfe ) 
{ 
   // couldn't find the template 
} 
catch( ParseErrorException pee ) 
{ 
  // syntax error: problem parsing the template 
} 
catch( MethodInvocationException mie ) 
{ 
  // something invoked in the template 
  // threw an exception 
} 
catch( Exception e ) 
{} 
  
StringWriter sw = new StringWriter(); 
//3:組合(control)數(shù)據(jù)和模板,最后寫到sw里,sw即最終數(shù)據(jù)。 
template.merge( context, sw ); 


            
??

我覺得Velocity是由上至下逐行掃描模板,當(dāng)掃描到占位符(如$和#)的時(shí)候,通過JAVA的反射機(jī)制(或者cglib直接生成字節(jié)碼)調(diào)用JAVA的屬性和方法,生成最終數(shù)據(jù)。

學(xué)習(xí)資料

官方網(wǎng)址: http://velocity.apache.org/engine/releases/velocity-1.7/

Velocity-初體驗(yàn)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 免费精品久久久久久中文字幕 | 日韩免费电影 | 日本免费三级网站 | 无码一区二区三区曰本A片 欧美综合激情网 | 波多野结衣手机在线播放 | 丁香婷婷激情 | 国产高清免费视频 | 亚洲精品一区在线观看 | 在线观看成人 | 国产精品免费一区二区三区都可以 | 国产拍视频 | 久草在钱 | 日韩精品免费 | 色综合天天综合中文网 | 成人免费播放视频777777 | 日韩欧美在线播放 | 99国内精品 | 国产精品亚洲一区二区三区在线 | 国产精品久久久久久亚洲色 | 天天色天天综合 | 国产91小视频在线观看 | 久久精品国产久精国产 | 最新av在线网址 | 国产精品免费av | 欧美综合亚洲 | av资源在线天堂 | 碰碰碰精品视频在线观看 | 欧美视频99 | 中文字幕在亚洲第一在线 | 成人免费网站www网站高清 | 亚洲精品99 | 国产精品嫩草影视在线观看 | 涩涩伊人 | 波多野结衣在线免费播放 | 亚洲经典在线中文字幕 | 日日摸夜夜添免费毛片小说 | 性夜黄a爽影免费看 | 亚洲精品免费观看 | 色偷偷成人网免费视频男人的天堂 | 成年免费大片黄在线观看岛国 | 亚洲第一a亚洲 |