Java 模板引擎 Webit Script 1.2.2 發布
1. 又是一個Java模板引擎
2. 基于java 5 開發,不依賴其他第三方庫
3. 語法類似于Javascript,弱類型,甚至是閉包特性
4. 只有解釋執行,支持熱加載,但是性能依然給力
5. 靈活自由的設計,支持擴展資源加載器、日志、屬性訪問器、安全管理器
6. 采用IoC的機制管理組件,配置更方便、自由
7. 可以把它當成一個腳本語言,它允許你進行特殊的set操作,
例如: user.name = "my new name";
Q&A
1. 現在已經有很多開源的模板引擎了為什么要重復制造輪子?
這個重復造輪子是必須的,坦克的輪子不適合裝在飛機上。
2. 為啥解釋執行的性能依然這么給力?
首先歸功于現代JVM的優化能力。
其次,采用ASM的方式對Bean進行get/set操作避免反射也在一定程度上發揮了作用。當然 如果你不喜歡ASM可以關閉它,使用反射,或者定義自己的Resolver。
同時,在IO上也做了大量的優化,盡量避免分配大數組以及之間的COPY。
最后,在關鍵位置編碼的時候都非常謹慎,在不影響代碼質量的情況下盡量少分配局部變量、調整局部變量位置及順序,使其生成更有質量的字節碼。
3. 為啥不做編譯執行?
編譯執行無非是為了性能,解釋執行已經很給力了,做編譯執行意義不大。
其次,雙執行引擎之間往往存在差異,很難保證輸出結果完全一致,也會限制以后的發展,尤其是功能上的。
還剩很多版面,來個例子把,希望能說服你試一試
1.2.2 更新日志:
- 【新增】Spring MVC 視圖支持
- 【新增】Struts 視圖支持
- 【新增】Servlet 視圖支持
- 【新增】JFinal視圖支持,提供硬編碼添加設置的API
- 【新增】對HttpServletRequest getHeader/getHeaders 的友好支持
- 【增強】JFinal視圖支持,缺省無需額外的配置文件
- 【調整】調整異常輸出機制,保證代碼質量
- 【調整】調整配置文件加載機制,使得日志輸出能夠打印出所有加載的配置文件
同時我們還提供了對于以上各種MVC整合Webit Script的示例,請移步 webitscript-mvc-demo
另外Webit Script專用的詞法分析器,java_cup修改版,也提供了源代碼,感興趣的小伙伴請移步 java_cup-for-webitscript