红联Linux门户
Linux帮助

Java模板语言 Beetl

发布时间:2012-11-19 09:05:48来源:红联作者:empast
Beetl作为新一代的模板技术,试图进一步提高前端开发效率和运行效率,从而节约公司成本,它提供了如下特性:

1 非常简单:它的语法是javascript一个子集,只有少量的大家熟悉的符号。任何了解java,或者javascript的人,都能快速学会。如果从未用过任何模板语言,用Beetl是非常很合适的.不需要在学习一种的新的语言语法

2 功能齐全:beetl具有目前流行的模板引擎所支持的功能,如具备freemarker 所提供的绝大部分功能(参考 附录freemarker功能对比)

3 性能卓越:在优化模式(包括动态编译成class和采用byte输出)下运行,每秒渲染模板数高于其他模板引擎,而消耗的系统资源低于其他模板引擎。(参考附录Freemarker性能比较,超过Freemarker4倍)

4 提供一系列其他模板语言没有提供的功能,如自定义占位符号,控制语句符号,虚拟属性,自定义函数,标签tag等,安全输出等。它们并不复杂,但有可能解决你在使用别的模板语言时候遇到的一些不便捷的问题。

5 同时支持较为松散的MVC和严格的MVC,如果在模板语言里嵌入计算表达式,复杂条件表达式,以及函数调用有干涉业务逻辑嫌疑,你可以禁止使用这些语法。关于这一点,可以参考strictly enforces model-view separation

6 能与Serlvet,Spring MVC,JFinal 等web框架结合起来

除了以上三个显著不同于其他模板语言的特性外,Beetl还胜在细节上,还提供如下特性:

整个大小不到370K,其他模板语言有的功能,Beetl基本上都包含
双引擎,包含了解释执行引擎,也包含了运行时编译引擎
详细的错误提示,包括行数、错误符号、上下相关行以及错误原因
beetl提供安全输出,在意外情况下,最常见是Null值情况下,页面仍然能得到渲染
自定义函数、格式化函数、标签库,允许自定义虚拟属性,无需在java代码中为Pojo添加额外属性专门用于显示
自定义占位符号、控制语句符号,将对模板的侵入性降到最低
输出不会产生多余的空格和换行,其他模板语言或者JSP将不可避免产生此问题
与Spring MVC,Servlet,Jfinal等框架结合

主页:http://sourceforge.net/projects/beetl/

下载:http://sourceforge.net/projects/beetl/files/

来自:开源中国社区
文章评论

共有 0 条评论