java 模板引擎 jetbrick-template
2014-02-27 14:58
288 查看
1 概述 Overview
jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性。 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板。 指令和 Velocity 相似,表达式和 Java 保持一致,易学易用。支持类似于 Velocity 的多种指令
支持静态编译
支持编译缓存
支持热加载
支持类型推导
支持泛型
支持可变参数方法调用
支持方法重载
支持类似于 Groovy 的方法扩展
支持函数扩展
支持自定义标签 #tag
支持宏定义 #macro
支持布局 Layout
2 简单易用的指令
jetbrick-template 指令集和老牌的模板引擎 Velocity 非常相似,易学易用。3 卓越性能 Performance
jetbrick-template 将模板编译成 Java ByteCode 运行,并采用强类型推导,无需反射和减少类型转换。渲染速度等价于 Java 硬编码。比 Velocity 等模板快一个数量级。 比 JSP 也快,因为 JSP 只有 Scriptlet 是编译的,Tag 和 EL 都是解释执行的。 而 jetbrick-template 是全编译的。在 Stream 模式中(Webapp 采用 OutputStream 将文本输出到浏览器),由于 Java 硬编码输出字符串需要进行一次编码的转换。 而 jetbrick-template 却在第一次运行期间就缓存了编码转换结果,使得 jetbrick-template 的性能甚至优于 Java 硬编码。
具体测试用例,请参考:Template Engine Benchmark Test (platform: Window 7 x64, Intel i5, 16GB RAM, JDK 1.6.0_41 x64)
4 易于集成 Integrate
可以和市面上常见的 Web MVC framework 进行集成。HttpServlet
Filter
Struts 2.x
Spring MVC
JFinal
Nutz
Jodd
具体集成方法,请参考: Web 框架集成
也可以和 Spring Ioc 进行集成,请参考:如何在 Spring 中使用 JetEngine
5 友好的错误提示
具有详细的模板解析和编译错误提示,出错提示可以定位到原始模板所在的行号。出错行号:37
错误原因:The method getColumnNam() or isColumnNam() is undefined for the type jetbrick.schema.app.model.TableColumn.
相关文章推荐
- 新一代Java模板引擎 jetbrick-template 1.1.2 发布
- Java 模板引擎 jetbrick-template
- 全面超越 Velocity 的全新一代 Java 模板引擎 jetbrick-template 1.0.2 正式版发布。
- 全面超越 Velocity 的全新一代 Java 模板引擎 jetbrick-template
- jetbrick,新一代 Java 模板引擎,具有高性能和高扩展性
- Velocity基于java的模板引擎(template engine)
- 前端模板引擎artTemplate---高性能JavaScript模板引擎
- velocity模板引擎 -- java.io.FileNotFoundException: velocity.log (Permission denied)
- 百度JS模板引擎 baiduTemplate 1.0.6 版
- java设计模式之模板方法模式Template method
- JavaScript Template JST模板引擎—Trimpath ( 转 )
- template.js——前端模板引擎
- Java模板引擎 FreeMarker
- Play framework模板引擎扩展对象JavaExtensions
- Play framework模板引擎扩展对象JavaExtensions
- Java设计模式之模板模式(Template模式)介绍
- 模板引擎artTemplate及模板预编译器TmodJS的使用入门
- Spring MVC : Java模板引擎 Thymeleaf (三)
- C++ 模板引擎 Ctemplate 的介绍
- 新一代Java模板引擎Thymeleaf