新一代java模板引擎典范 Beetl

Beetl目前版本是2.1,大小667K,相对于其余java模板引擎,具备功能齐全,语法直观,性能超高,开发和维护模板有很好的体验。是新一代的模板引擎。总得来讲,它的特性以下:html

  • 功能完备:同主流的java模板引擎相比,Beetl具备绝大多数功能。适用于各类应用场景,从对响应速度有很高要求的大网站到功能繁多的CMS管理系统都适合。Beetl自己还具备不少独特功能来完成模板编写和维护,这是其余模板引擎所不具备的。java

  • 很是简单:相似Javascript语法和习俗,只要半小时就能经过半学半猜彻底掌握用法。拒绝其余模板引擎那种非人性化的语法和习俗。git

  • 超高的性能:Beetl 远超过主流java模板引擎性能,如5-6倍于freemarker,2倍于传统jsp技术。并且消耗较低的CPUweb

  • 易于整合:Beetl能很容易的与各类web框架整合,如Spring MVC,JFinal,Struts,Nutz,Jodd,Servlet等。ajax

  • 支持模板单独开发和测试,即在MVC架构中,即便没有M和C部分,也能开发和测试模板。数组

  • 扩展和个性化:Beetl支持自定义方法,格式化函数,虚拟属性,标签,和HTML标签. 同时Beetl也支持自定义占位符和控制语句起始符号也支持使用者彻底能够打造适合本身的工具包.浏览器

 

关于性能缓存

经过与主流模板引擎Freemarker,Velocity以及JSP对比,Beetl均远高于前面三个,这是由于宏观上,经过了优化的渲染引擎,IO的二进制输出,字节码属性访问加强,微观上,经过一维数组保存上下文,合并静态文本,经过重复使用字节数组来防止java频繁的建立和销毁数组,还使用模板缓存,运行时优化等方法。安全

性能测试来自TEB架构

关于插件:

插件针对模板应用特性作了优化,除了常规语言特性支持外,还支持静态文本折叠,模板文件快速打开(如第27行单击ccc.btl快速打开),模板文件原生插件和beetl插件切换等功能.

插件介绍和下载

独特功能

Beetl有些功能是发展了10多年的模板引擎所不具有的,这些功能很是利于模板的开发和维护,以下

  1. 自定义占位符和控制语句起始符号,这有利于减少模板语法对模板的倾入性,好比在html模板中,若是定义控制语句符号是<!--:和 -->,那么,大部分模板文件都能同过浏览器打开。有的使用者仅仅采用了单个符号@ 以及回车换号做为控制语句起始符号,这又能提升开发效率

  2. 可单独测试的模板。无需真正的控制层和模型层,Beetl的模板就能够单独开发和测试

  3. 同时支持较为松散的MVC和严格的MVC,若是在模板语言里嵌入计算表达式,复杂条件表达式,以及函数调用有干涉业务逻辑嫌疑,你能够禁止使用这些语法。

  4. 强大的安全输出,经过安全输出符号!,能在模板变量,变量属性引用,for循环,占位符输出,try-catch中等各个地方提供安全输出,保证渲染正常

  5. 模板变量:运行将模板的某一部分输出像js那样赋值个一个变量,稍后再处理。利用模板变量能完成很是复杂的页面布局(简单的布局可以使用layout标签函数)

  6. 类型推测,能在运行的时候推测模板变量类型,从而优化性能,也能够经过注解的方法显示的说明模板变量属性(这是非必须的,但有助于IDE自动提示功能)

  7. 可插拔的设计,错误信息提示,模板引擎缓存机制,模板资源管理,本地调用的安全管理器,严格MVC限制,模板引擎自己都有默认的实现,但又彻底能够自定义以适合特定需求

  8. 加强的语法,如#ajax局部渲染,for-elsefor, select-case,安全输出符号! 等,这些语法特别适合模板开发

  9. 性能超高,具备最快的模板解释引擎,同时,又有较低的CPU消耗。适合各种模板引用,如CMS系统,超高访问量的门户系统

Beetl在线体验和代码分享:http://ibeetl.com:8080/beetlonline/

相关文章
相关标签/搜索