Beetl java模板引擎
Beetl目前版本是2.0,大小650K,相對于其他java模板引擎,具有功能齊全,語法直觀,性能超高,開發和維護模板有很好的體驗。是新一代的模板引擎。總得來說,它的特性如下:
功能完備:同主流的java模板引擎相比,Beetl具有絕大多數功能。適用于各種應用場景,從對響應速度有很高要求的大網站到功能繁多的CMS管理系統都適合。Beetl本身還具有很多獨特功能來完成模板編寫和維護,這是其他模板引擎所不具有的。
非常簡單:類似Javascript語法和習俗,只要半小時就能通過半學半猜完全掌握用法。拒絕其他模板引擎那種非人性化的語法和習俗。
超高的性能:Beetl 遠超過主流java模板引擎性能,而且消耗較低的CPU
易于整合:Beetl能很容易的與各種web框架整合,如Spring MVC,JFinal,Struts,Nutz,Jodd,Servlet等。
支持模板單獨開發和測試,即在MVC架構中,即使沒有M和C部分,也能開發和測試模板。
擴展和個性化:Beetl支持自定義方法,格式化函數,虛擬屬性,標簽,和HTML標簽. 同時Beetl也支持自定義占位符和控制語句起始符號也支持使用者完全可以打造適合自己的工具包.
</ul>
</div>
- 自定義占位符和控制語句起始符號,這有利于減小模板語法對模板的傾入性,比如在html模板中,如果定義控制語句符號是<!--:和 -->,那么,大部分模板文件都能同過瀏覽器打開。有的使用者僅僅采用了單個符號@ 以及回車換號作為控制語句起始符號,這又能提高開發效率
- 可單獨測試的模板。無需真正的控制層和模型層,Beetl的模板就可以單獨開發和測試
- 同時支持較為松散的MVC和嚴格的MVC,如果在模板語言里嵌入計算表達式,復雜條件表達式,以及函數調用有干涉業務邏輯嫌疑,你可以禁止使用這些語法。
- 強大的安全輸出,通過安全輸出符號!,能在模板變量,變量屬性引用,for循環,占位符輸出,try-catch中等各個地方提供安全輸出,保證渲染正常
- 模板變量:運行將模板的某一部分輸出像js那樣賦值個一個變量,稍后再處理。利用模板變量能完成非常復雜的頁面布局(簡單的布局可使用layout標簽函數)
- 類型推測,能在運行的時候推測模板變量類型,從而優化性能,也可以通過注解的方法顯示的說明模板變量屬性(這是非必須的,但有助于IDE自動提示功能)
- 可插拔的設計,錯誤信息提示,模板引擎緩存機制,模板資源管理,本地調用的安全管理器,嚴格MVC限制,模板引擎本身都有默認的實現,但又完全可以自定義以適合特定需求
- 增強的語法,如for-elsefor, select-case,安全輸出符號! 等,這些語法特別適合模板開發
- 性能超高,具有最快的模板解釋引擎,同時,又有較低的CPU消耗。適合各類模板引用,如CMS系統,超高訪問量的門戶系統
關于性能
通過與主流模板引擎Freemaker,Vecloity以及JSP對比,Beetl均遠高于前面三個,這是因為宏觀上,通過了優化的渲染引擎,IO的二進制輸出,字節碼屬性訪問增強,微觀上,通過一維數組保存上下文,合并靜態文本,通過重復使用字節數組來防止java頻繁的創建和銷毀數組,還使用模板緩存,運行時優化等方法。
獨特功能
Beetl有些功能是發展了10多年的模板引擎所不具備的,這些功能非常利于模板的開發和維護,如下
Beetl在線體驗和代碼分享:http://ibeetl.com:8080/beetlonline/