发布于 2017-08-14 01:57:11 | 248 次阅读 | 评论: 0 | 来源: 网友投递
Beetl java模板引擎
Beetl,是Bee Template Language的缩写,是一款java模板引擎,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。
Beetl 2.7.22 发布,这次发布增强了俩个功能
#320 html 标签 允许用"-"符号,转化为其后首字母大写.
<#myTag data-ip="${ip}">...
myTag实现(java或者beetl实现 使用dataIp引用此属性
#316 增加一个新的trim函数,用来截取数字或者日期类型,代替旧的trunc函数
${trim(1.234,2)} ${trim(date(),'YYYY')}
本次发布还对模板引擎定制做了一定增强,较早方式是在语法树生成后替换已有节点从而定制新的语言特性,新增方式可以在生成语法树的时候就生成新的节点,这个要求对Beetl源码较为熟悉,代码如下
import org.beetl.core.AntlrProgramBuilder; import org.beetl.core.GroupTemplate; import org.beetl.core.engine.DefaultTemplateEngine; public class VarRefTemplateEngine extends DefaultTemplateEngine { protected AntlrProgramBuilder getAntlrBuilder(GroupTemplate gt){ AntlrProgramBuilder pb = new AntlrProgramBuilder(gt); return pb; } class VarRefAntlrProgramBuilder extends AntlrProgramBuilder{ public VarRefAntlrProgramBuilder(GroupTemplate gt) { super(gt); } } }
可以继承AntlrProgramBuilder的多个构造语法树节点从而完成语法树定制。语法树定制应用在Beetl在线体验功能,BeetlSQL,以及一些在线编辑的CMS系统
<dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl</artifactId> <version>2.7.22</version> </dependency>
如果使用Spring Boot
<dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl-framework-starter</artifactId> <version>1.1.13.RELEASE</version> </dependency>
Beetl是新一代的模板引擎。总得来说,它的特性如下:
功能完备:同主流的java模板引擎相比,Beetl具有绝大多数功能。适用于各种应用场景,从对响应速度有很高要求的大网站到功能繁多的CMS管理系统都适合。Beetl本身还具有很多独特功能来完成模板编写和维护,这是其他模板引擎所不具有的。
非常简单:类似Javascript语法和习俗,只要半小时就能通过半学半猜完全掌握用法。拒绝其他模板引擎那种非人性化的语法和习俗。
超高的性能:Beetl 远超过主流java模板引擎性能,如5-6倍于freemarker,2倍于传统jsp技术。而且消耗较低的CPU
易于整合:Beetl能很容易的与各种web框架整合,如Spring MVC,JFinal,Struts,Nutz,Jodd,Servlet等。
支持模板单独开发和测试,即在MVC架构中,即使没有M和C部分,也能开发和测试模板。
扩展和个性化:Beetl支持自定义方法,格式化函数,虚拟属性,标签,和HTML标签. 同时Beetl也支持自定义占位符和控制语句起始符号也支持使用者完全可以打造适合自己的工具包.
可作为脚本引擎,规则引擎使用