本次發佈改善了Function功能,讓Beetl在語法解析階段能定製Function
- 增加LineAware接口,實現此Function的函數,會在調用時候,在參數列表後追加一個所在行的參數,如debug函數,可以輸出變量和調用時候所在的行
- 增加ForceSafe接口,實現此Function的函數,會在調用的時候,參數列表會增加一個安全輸出符號,如isEmpty函數
isEmpty(user)
會變成isEmpty(user!)
- 增加ChangeInput接口,更加通用的方式,可以自定修改方法參數,如has函數
has(var1)
會更改爲has("var1")
Beetl之前會有些”魔法函數“實現特殊功能,這次規範,只要實現如上接口,就可以實現各種魔法應用
- 對不符合JavaBean規範的POJO,拋出異常的時候給與明確提示
Beetl是一款全功能,高性能優秀的國產模板引擎,各方面特性領先國外同類引擎技術,可以廣泛用於動態頁面生成,靜態頁面生成,代碼生成,文本轉換,腳本語言和規則引擎等,從2011年來,一直維護,並得到國內公司用戶的讚賞。
Maven
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetl</artifactId>
<version>3.8.0.RELEASE</version>
</dependency>