*.vm后綴的文件仓坞,是velocity的文件帆阳。velocity是基于java的一種頁面模板引擎迎吵,支持#if #else #foreach等寫法的前臺文件嗤形。$link.contextPath是該引擎支持的一種默認(rèn)寫法精偿,可以取得應(yīng)用程序執(zhí)行根路徑。
Velocity是一個基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象笔咽。當(dāng)Velocity應(yīng)用于web開發(fā)時搔预,界面設(shè)計人員可以和java程序開發(fā)人員同步開發(fā)一個遵循MVC架構(gòu)的web站點,也就是說叶组,頁面設(shè)計人員可以只關(guān)注頁面的顯示效果拯田,而由java程序開發(fā)人員關(guān)注業(yè)務(wù)邏輯編碼。Velocity將java代碼從web頁面中分離出來扶叉,這樣為web站點的長期維護提供了便利勿锅,同時也為我們在JSP和PHP之外又提供了一種可選的方案帕膜。 Velocity的能力遠不止web站點開發(fā)這個領(lǐng)域枣氧,例如,它可以從模板(template)產(chǎn)生SQL和PostScript垮刹、XML达吞,它也可以被當(dāng)作一個獨立工具來產(chǎn)生源代碼和報告,或者作為其他系統(tǒng)的集成組件使用荒典。Velocity也可以為Turbine web開發(fā)架構(gòu)提供模板服務(wù)(template service)酪劫。Velocity+Turbine提供一個模板服務(wù)的方式允許一個web應(yīng)用以一個真正的MVC模型進行開發(fā)。