1. 程式人生 > >Jsp、Velocity、FreeMarker這三種模板引擎的區別

Jsp、Velocity、FreeMarker這三種模板引擎的區別

        模板引擎是Web方向的重要方向之一,收集了一下網路上關於JSP、Velocity、FreeMarker的應用,將幾種模板引擎技術進行簡要的介紹,希望大家能夠得到自己想要的結果。

JSP

優點:

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

2、支援jsp標籤(jsp tag)

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

4、官方標準,使用者群廣,豐富的第三方jsp標籤庫

5、效能良好。Jsp編譯成Class檔案執行,有很好的效能表現

缺點:

     因為jsp中可以寫入相當一部分業務邏輯程式碼,因此就是去mvc結構的優美性,並且每次都需要進行編譯處理操作,開發起來不僅麻煩,還需要配置相關的tomcat,麻煩的很。

Velocity

優點:

1、不能編寫java程式碼,可以實現嚴格的mvc分離

2、效能良好,據說比Jsp效能還要好些

3、使用表示式語言,據說Jsp的表示式語言就是學Velocity的

缺點:

1、不是官方標準

2、使用者群體和第三方標籤庫沒有jsp多。

3、對Jsp標籤支援不夠好

Freemarker

優點:

1、不能編寫java程式碼,可以實現嚴格的mvc分離

2、效能非常不錯

3、對Jsp標籤支援良好

4、內建大量常用功能,使用非常方便

5、巨集定義(類似jsp標籤)非常方便

6、使用表示式語言

缺點:

1、不是官方標準

2、使用者群體和第三方標籤庫沒有jsp多

         說實話,freemarker跟velocity比較起來,效能上並沒有什麼巨大的差異,可能在一些簡單的業務邏輯上freemarker可能差點火候,但是當涉及到大量的業務邏輯判斷時,他的優點就顯示出來了。freemarker擁有比較多的常用tools,可以比較便利的進行一些類似於日期格式化這樣的操作。