HTTL(Hyper-Text Template Language)是一個高性能的開源JAVA模板引擎,適用於動態HTML頁面輸出,可替代JSP頁面,指令和Velocity類似。html
語法儘量符合HTML和JAVA開發者的直覺,指令和老牌的Velocity相似,但改進了Velocity中不符合直覺的地方。 只保留最基本的條件迭代控制指令,渲染過程不容許修改原始數據,防止模板帶過多業務邏輯。默認使用HTML註釋語法,避免干擾原生HTML頁面。git
<html> <body> <!--#if(books)--> <table> <!--#for(Book book : books)--> <tr> <td>${book.title}</td> </tr> <!--#end--> </table> <!--#end--> </body> </html>
改進Velocity不符合直覺的地方:github
詳細語法,以及Velocity對比,請參見:語法 & 對比性能優化
將模板編譯成JAVA字節碼運行,並使用強類型推導,減小運行期反射和轉型, 渲染速度接近Java硬編碼輸出,比Velocity等其它模板引擎快一個數量級。 比JSP也快,由於JSP只有Scriptlet是編譯的,Tag和EL是解釋執行的,而HTTL是全編譯的。函數
模板自描述,在模板內聲明入參變量類型,並基於入參類型推導模板內全部變量類型,使IDE能方便的實現變量方法補全提示, 對開發過程友好。出錯信息精肯定位行列,並顯示出錯位置先後相關內容。採用微核+插件體系,全部環節都可擴展,方便集成和二次開發。性能
嚴格確保質量,請放心使用,HTTL在發佈前已作:單元測試