Java 模板引擎 - Beetl

openkk 12年前

Beetl作为新一代的模板技术,试图进一步提高前端开发效率和运行效率,从而节约公司成本,它提供了如下特性

  • 采用Javascript语法,对于程序开发人员或者前端设计人员来来说,学习成本为零.。相比其他模板技术的独特语法来说,无疑提高了学习效率和开发效率。
  • 能在运行时编译成java class代码,能提高运行效率以及减少对系统资源如CPU消耗、内存使用,以及减少垃圾回收次数。能克服其他模板语言运行效率不理想或者消耗主机资源过多的情况。
  • 大型公司和小型公司,对于MVC模式都有不同的策略。在大公司,View通常是专门开发人员,或者前端人员来完成,因此不允许将逻辑放到视图层来 处理,而小型公司,开发人员负责了MVC所有部分。因此对于View层的技术,需要一个灵活的可定制的模板语言。Beetl正是这样的模板语言,它可以定 制策略, 可以允许严格的MVC,也可以使用非严格的MVC,甚至还允许直接调用java类代码(后门)。

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

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

项目主页:http://www.open-open.com/lib/view/home/1330946628921