新一代java模板引擎典範 Beetl

Beetl目前版本是2.1,大小667K,相對於其餘java模板引擎,具備功能齊全,語法直觀,性能超高,開發和維護模板有很好的體驗。是新一代的模板引擎。總得來講,它的特性以下:html

  • 功能完備:同主流的java模板引擎相比,Beetl具備絕大多數功能。適用於各類應用場景,從對響應速度有很高要求的大網站到功能繁多的CMS管理系統都適合。Beetl自己還具備不少獨特功能來完成模板編寫和維護,這是其餘模板引擎所不具備的。java

  • 很是簡單:相似Javascript語法和習俗,只要半小時就能經過半學半猜徹底掌握用法。拒絕其餘模板引擎那種非人性化的語法和習俗。git

  • 超高的性能:Beetl 遠超過主流java模板引擎性能,如5-6倍於freemarker,2倍於傳統jsp技術。並且消耗較低的CPUweb

  • 易於整合:Beetl能很容易的與各類web框架整合,如Spring MVC,JFinal,Struts,Nutz,Jodd,Servlet等。ajax

  • 支持模板單獨開發和測試,即在MVC架構中,即便沒有M和C部分,也能開發和測試模板。數組

  • 擴展和個性化:Beetl支持自定義方法,格式化函數,虛擬屬性,標籤,和HTML標籤. 同時Beetl也支持自定義佔位符和控制語句起始符號也支持使用者徹底能夠打造適合本身的工具包.瀏覽器

 

關於性能緩存

經過與主流模板引擎Freemarker,Velocity以及JSP對比,Beetl均遠高於前面三個,這是由於宏觀上,經過了優化的渲染引擎,IO的二進制輸出,字節碼屬性訪問加強,微觀上,經過一維數組保存上下文,合併靜態文本,經過重複使用字節數組來防止java頻繁的建立和銷燬數組,還使用模板緩存,運行時優化等方法。安全

性能測試來自TEB架構

關於插件:

插件針對模板應用特性作了優化,除了常規語言特性支持外,還支持靜態文本摺疊,模板文件快速打開(如第27行單擊ccc.btl快速打開),模板文件原生插件和beetl插件切換等功能.

插件介紹和下載

獨特功能

Beetl有些功能是發展了10多年的模板引擎所不具有的,這些功能很是利於模板的開發和維護,以下

  1. 自定義佔位符和控制語句起始符號,這有利於減少模板語法對模板的傾入性,好比在html模板中,若是定義控制語句符號是<!--:和 -->,那麼,大部分模板文件都能同過瀏覽器打開。有的使用者僅僅採用了單個符號@ 以及回車換號做爲控制語句起始符號,這又能提升開發效率

  2. 可單獨測試的模板。無需真正的控制層和模型層,Beetl的模板就能夠單獨開發和測試

  3. 同時支持較爲鬆散的MVC和嚴格的MVC,若是在模板語言裏嵌入計算表達式,複雜條件表達式,以及函數調用有干涉業務邏輯嫌疑,你能夠禁止使用這些語法。

  4. 強大的安全輸出,經過安全輸出符號!,能在模板變量,變量屬性引用,for循環,佔位符輸出,try-catch中等各個地方提供安全輸出,保證渲染正常

  5. 模板變量:運行將模板的某一部分輸出像js那樣賦值個一個變量,稍後再處理。利用模板變量能完成很是複雜的頁面佈局(簡單的佈局可以使用layout標籤函數)

  6. 類型推測,能在運行的時候推測模板變量類型,從而優化性能,也能夠經過註解的方法顯示的說明模板變量屬性(這是非必須的,但有助於IDE自動提示功能)

  7. 可插拔的設計,錯誤信息提示,模板引擎緩存機制,模板資源管理,本地調用的安全管理器,嚴格MVC限制,模板引擎自己都有默認的實現,但又徹底能夠自定義以適合特定需求

  8. 加強的語法,如#ajax局部渲染,for-elsefor, select-case,安全輸出符號! 等,這些語法特別適合模板開發

  9. 性能超高,具備最快的模板解釋引擎,同時,又有較低的CPU消耗。適合各種模板引用,如CMS系統,超高訪問量的門戶系統

Beetl在線體驗和代碼分享:http://ibeetl.com:8080/beetlonline/

相關文章
相關標籤/搜索