天天看點

jetbrick template 高性能、高擴充性的Java模闆引擎

jetbrick-template 剛剛釋出了 1.0.2 版。

jetbrick-template 是一個新一代 Java 模闆引擎,具有高性能和高擴充性。

适合于動态 HTML 頁面輸出或者代碼生成,可替代 JSP 頁面或者 Velocity

等模闆。 指令和 Velocity 相似,表達式和 Java 保持一緻,易學易用。

jetbrick template 高性能、高擴充性的Java模闆引擎

主要特性

  • 支援類似與 Velocity 的多種指令
  • 支援靜态編譯
  • 支援編譯緩存
  • 支援熱加載
  • 支援類型推導
  • 支援泛型
  • 支援可變參數方法調用
  • 支援方法重載
  • 支援類似于 Groovy 的方法擴充
  • 支援函數擴充

簡單易用的指令

jetbrick-template 指令集和老牌的模闆引擎 Velocity 非常相似,易學易用。

詳細指令文法,請參考:

文法指南

。或者

和 Velocity 的比較

卓越性能

jetbrick-template 将模闆編譯成 Java ByteCode

運作,并采用強類型推導,無需反射和減少類型轉換。渲染速度等價于 Java

寫死。比 Velocity 等模闆快一個數量級。 比 JSP 也快,因為 JSP 隻有

Scriptlet 是編譯的,Tag 和 EL 都是解釋執行的。 而 jetbrick-template

是全編譯的。

jetbrick template 高性能、高擴充性的Java模闆引擎

在 Stream 模式中(Webapp 采用 OutputStream 将文本輸出到浏覽器),由于 Java

寫死輸出字元串需要進行一次編碼的轉換。 而 jetbrick-template

卻在第一次運作期間就緩存了編碼轉換結果,使得 jetbrick-template

的性能甚至優于 Java 寫死。

具體測試用例,請參考:

Template Engine Benchmark Test

(platform: Window 7 x64, Intel i5,

16GB RAM, JDK 1.6.0_41 x64)

易于內建

可以和市面上常見的 Web MVC framework 進行內建。

具體內建方法,請參考:

架構內建

友好的錯誤提示

具有詳細的模闆解析和編譯錯誤提示,出錯提示可以定位到原始模闆所在的行号。