1. 程式人生 > >(一)模板引擎之velocity介紹

(一)模板引擎之velocity介紹

Velocity

什麼是velocity?

       Velocity是一個基於java的模板引擎(template engine)。可以使用簡單的模板語言(templatelanguage)來引用由java程式碼定義的物件。

       Velocity將java程式碼從web頁面中分離出來,這樣為web站點的長期維護提供便利,同時也在JSP和PHP之間提供了一種可選的方案。也許您可能會有疑問,什麼是模板引擎呢?

什麼是模板引擎?

       官方說,模板引擎(web開發模板引擎)是為了使用使用者介面與業務資料內容分離而產生的,它可以生成特定格式的文件,用於網站模板引擎會就生成一個標準的html文件。還是從MVC模式說起,M(Model,模型)包括後臺的事務邏輯、真正處理事務的程式碼和商業邏輯等,它們是整個網站中最重要的工作部分。V(vew檢視)是網頁顯示部分,這部分接受來自後臺程式結果或資料,進行顯示。C(controller,控制器),c在檢視和模型之間傳遞控制,並根據要求呼叫相應的檢視顯示模型返回資料,主要負責排程工作。

       這樣職責劃分明確,簡化了開發過程中相關人員的工作,而我們平時使用JSP頁面,可以在JSP頁面中寫java相關邏輯,這樣在V中混淆了邏輯程式碼。所以java模板引擎出現,模板引擎的出現,它嚴格的區分程式開發功能和職責的劃分。

Velocity優點

1、 容易整合在各種各樣領域中。

2、 為網頁製作人員提供了一種清晰而簡單的語法。

3、 因為模板和程式碼是分離的,所以可以分別獨立的開發和維護他們。

4、 Velocity容易整合到一些java執行環境中,特別是servlet。

5、 Velocity使得模板可以訪問任何環境物件中的共有方法。

6、 Java和SQL程式碼生成

7、 XML處理和轉換。

8、 文書處理,比如生成trf檔案等。

Velocity與jsp區別

       Jsp比較熟悉

優點:

1、 功能強大,可以寫java程式碼。

2、 支援jsp標籤(jsp tag)

3、 支援表示式語言(el)

4、 官方標準,第三方jsp標籤庫,j2ee規範。

5、 效能良好。Jsp編譯成class檔案。

而velocity不能編寫java程式碼,可以實現嚴格的mvc分離。比jsp效能還好些。使用表示式語言,據說jsp表示式語言就是學velocity的。

缺點:

       Jsp中可以寫java程式碼,當jsp中寫過多的java業務邏輯,容易破壞mvc結構。

而velocity缺點,不能編寫java程式碼;使用者群體和第三方標籤庫沒有jsp多;對jsp標籤支援的不夠好。

freemarker與velocity區別

       同樣和velocity一樣,不能編寫java程式碼,實現嚴格的mvc分離,效能不錯,針對性能,velocity>freemarker>Jsp,但freemarker對JSP標籤支援良好,內建大量常用功能,使用方便,巨集定義非常方便。其缺點和velocity一樣,不是官方標準,使用者和第三方標籤庫沒有jsp多。

       在複雜頁面上(大量判斷,日期金額格式化),freemarker的效能比較好。