
Beetl 自 2010 年起开始研发,是国内广受欢迎的 Java 模板引擎
文档|源码|在线体验|模板性能对比|表达式引擎性能对比|性能调优指南
本次版本更新重点修复了自定义 HTML 标签配置相关的问题。Beetl 与其他主流模板语言存在诸多差异,其中一项显著特性是支持高度灵活的定界符与占位符定制能力,具体包括:
- 支持自定义定界符(如
#:、$:等) - 支持自定义占位符(例如
${}、#{} - 支持自定义 HTML 风格标签,如
- 最多可同时配置两套定界符+占位符组合,实现混合语法共存(例如同时兼容
和#:语法) - 支持按文件扩展名差异化配置定界符,比如
.html模板使用,而.java模板则采用//:作为定界符
Maven 依赖配置:
最新模板渲染性能测试(各引擎均采用当前最新稳定版),Score 数值越高表示性能越优:
Beetl > Enjoy > Rocker >> Freemarker >> Thymeleaf ≈ Velocity
| Benchmark Mode | Cnt | Score | Error | Units |
|---|---|---|---|---|
| Beetl.benchmark | thrpt | 5 | 109547.863 ± 17161.576 | ops/s |
| BeetlByte.benchmark | thrpt | 5 | 237799.769 ± 5904.514 | ops/s |
| Enjoy.benchmark | thrpt | 5 | 99695.440 ± 14083.595 | ops/s |
| EnjoyByte.benchmark | thrpt | 5 | 223874.001 ± 7265.307 | ops/s |
| Freemarker.benchmark | thrpt | 5 | 41452.634 ± 15917.119 | ops/s |
| Handlebars.benchmark | thrpt | 5 | 40360.198 ± 24345.048 | ops/s |
| Rocker.benchmark | thrpt | 5 | 63657.017 ± 4653.265 | ops/s |
| Thymeleaf.benchmark | thrpt | 5 | 6457.169 ± 272.613 | ops/s |
| Velocity.benchmark | thrpt | 5 | 8024.042 ± 2097.396 | ops/s |
最新脚本表达式引擎性能测试(Score 越高代表执行效率越强):
Liquor >> WastEl > JfireEL = SpEL >> Aviator = Beetl = JEXL3 >> MVEL = Groovy >> Nashorn
| Benchmark | Mode | Cnt | Score | Error | Units |
|---|---|---|---|---|---|
| Liquor.forExpresss | thrpt | 5 | 153428936.910 ± 1546258.435 | ops/s | |
| Liquor.ifExpresss | thrpt | 5 | 164543228.416 ± 5095296.054 | ops/s | |
| Liquor.simpleExpress | thrpt | 5 | 146376926.076 ± 4291072.121 | ops/s | |
| WastEl.ifExpresss | thrpt | 5 | 43778985.720 ± 502399.670 | ops/s | |
| WastEl.simpleExpress | thrpt | 5 | (原文此处截断,保留原样) |
源码地址:点击下载









