Beetl是Bee Template Language的缩写,它毫不是简单的另一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。并且还易学易用。html
Beetl目前版本是2.8.5,相对于其余java模板引擎,具备功能齐全,语法直观,性能超高,以及编写的模板容易维护等特色。使得开发和维护模板有很好的体验。是新一代的模板引擎。总得来讲,它的特性以下:java
关于性能
在使用FastRuntimeEngine状况下,经过与主流模板引擎Freemarker,Vecloity以及JSP对比,Beetl6倍于Freemarker,2倍于JSP。这是由于宏观上,经过了优化的渲染引擎,IO的二进制输出,字节码属性访问加强,微观上,经过一维数组保存上下文Context,静态文本合并处理,经过重复使用字节数组来防止java频繁的建立和销毁数组,还使用模板缓存,运行时优化等方法。详情参考附录git
独特功能
Beetl有些功能是发展了10多年的模板引擎所不具有的,这些功能很是利于模板的开发和维护,以下web
- 自定义占位符和控制语句起始符号,这有利于减少模板语法对模板的倾入性,好比在html模板中,若是定义控制语句符号是
<!--:
和-->
,那么,大部分模板文件都能经过浏览器打开。有的使用者仅仅采用了单个符号@
(或者单个符号“~
”)以及回车换号做为控制语句起始符号,这又能提升开发效率- 可单独测试的模板。无需真正的控制层和模型层,Beetl的模板就能够单独开发和测试
- 同时支持较为松散的MVC和严格的MVC,若是在模板语言里嵌入计算表达式,复杂条件表达式,以及函数调用有干涉业务逻辑嫌疑,你能够禁止使用这些语法。
- 强大的安全输出,经过安全输出符号!,能在模板变量,变量属性引用,for循环,占位符输出,try-catch中等各个地方提供安全输出,保证渲染正常。
- 模板变量:运行将模板的某一部分输出像js那样赋值给一个变量,稍后再处理。利用模板变量能完成很是复杂的页面布局(简单的布局可以使用include,layout标签函数)
- 类型推测,能在运行的时候推测模板变量类型,从而优化性能,也能够经过注解的方法显示的说明模板变量属性(这是非必须的,但有助于IDE自动提示功能)
- 可插拔的设计,错误信息提示,模板引擎缓存机制,模板资源管理,本地调用的安全管理器,严格MVC限制,模板引擎自己都有默认的实现,但又彻底能够自定义以适合特定需求
- 加强的语法,如for-elsefor, select-case,安全输出符号!,省略的三元表达式 等,这些语法特别适合模板开发
- 局部渲染技术,结合如今js的ajax技术。
- 性能超高,具备最快的模板解释引擎,同时,又有较低的CPU消耗。5-6倍于国内使用的Freemaker。适合各种模板应用,如代码生成工具,CMS系统,普通网站,超高访问量的门户系统,和富客户端JS框架整合的后台管理应用
小白如何开始
- 须要通读基本用法,大部分都是讲解语法,而语法跟js很接近,因此能够快速预览,但Beetl是针对模板设计, 因此像安全输出,标签和html标签,全局变量,临时变量和共享变量,布局技术,以及直接调用java代码等还须要认真读一遍。
- 若是从事web开发,还须要阅读web集成里的第一节“web提供的全局变量”,若是web里还使用ajax技术,能够阅读“整合ajax的局部渲染技术”。
- 包含有spring,jfinal,jodd,struts 等demo能够做为参考学习用https://git.oschina.net/xiandafu 任何问题,均可以在ibeetl.com 社区上提问。目前答复率是100%,提问须要详细说明本身的指望,出错信息,附上代码或者图片
原文连接: http://ibeetl.comajax