java 模板引擎 比较_jetbrick-template
概述 Overview
jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性。 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板。 指令和 Velocity 相似,表达式和 Java 保持一致,易学易用。
支持类似于 Velocity 的多种指令
支持静态编译
支持编译缓存
支持热加载
支持类型推导
支持泛型
支持可变参数方法调用
支持方法重载
支持类似于 Groovy 的方法扩展
支持函数扩展
支持自定义标签 #tag
支持宏定义 #macro
支持布局 Layout
文档 Documents
简单易用的指令
jetbrick-template 指令集和老牌的模板引擎 Velocity 非常相似,易学易用。
#define(List userlist)
序号 | 姓名 | 邮箱 |
#for (UserInfo user : userlist)
${for.index}${user.name}${user.email}
#end
基本开发 API
创建自定义配置的 JetEngine 对象。推荐使用单例模式创建。
根据模板路径,获取一个模板对象 JetTemplate。
创建一个 Map 对象,并加入你的 data objects。
准备一个待输出的对象,OutputStream 或者 Writer。
根据你的 data objects 来渲染模板,并获得输出结果。
具体的 Java 代码,看上去是这样的:
// 创建一个默认的 JetEngine
JetEngine engine = JetEngine.create();
// 获取一个模板对象
JetTemplate template = engine.getTemplate("/sample.jetx");
// 创建 context 对象
Map context = new HashMap();
context.put("user", user);
context.put("books", books);
// 渲染模板
StringWriter writer = new StringWriter();
template.render(context, writer);
// 打印结果
System.out.println(writer.toString());
卓越性能 Performance
jetbrick-template 将模板编译成 Java ByteCode 运行,并采用强类型推导,无需反射和减少类型转换。渲染速度等价于 Java 硬编码。比 Velocity 等模板快一个数量级。 比 JSP 也快,因为 JSP 只有 Scriptlet 是编译的,Tag 和 EL 都是解释执行的。 而 jetbrick-template 是全编译的。
在 Stream 模式中(Webapp 采用 OutputStream 将文本输出到浏览器),由于 Java 硬编码输出字符串需要进行一次编码的转换。 而 jetbrick-template 却在第一次运行期间就缓存了编码转换结果,使得 jetbrick-template 的性能甚至优于 Java 硬编码。
测试平台 platform: Window 7 x64, Intel i5, 16GB RAM, JDK 1.6.0_41 x64
作者 Author
开源许可 License
Copyright 2010-2014 Guoqiang Chen. All rights reserved.
Email: subchen@gmail.com
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
java 模板引擎 比较_jetbrick-template相关推荐
- Java 模板引擎总结
Java模板引擎 FreeMarker 概念 介绍 特性 优势 不足 一个小Demo 概念 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写.它是为Java程 ...
- Beetl-新一代Java模板引擎
简介 Beetl是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,超过当前流行的模板引擎.而且还易学易用.官网:http: ...
- Java 模板引擎 ~ FreeMarker。
Java 模板引擎 ~ FreeMarker. 文章目录 Java 模板引擎 ~ FreeMarker. 数据模型 + 模板 = 输出(HTML). https://freemarker.apache ...
- java 模板引擎_极简 Spring Boot 整合 Thymeleaf 页面模板
点击"牧码小子"关注,和众多大牛一起成长! 关注后,后台回复 java ,领取松哥为你精心准备的技术干货! 虽然现在慢慢在流行前后端分离开发,但是据松哥所了解到的,还是有一些公司在 ...
- java 模板引擎_SpringBoot入门系列(四)如何整合Thymeleaf模板引擎
前面介绍了Spring Boot的优点,然后介绍了如何快速创建Spring Boot 项目.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/ ...
- java 模板引擎_Spring Boot 如何快熟整合Thymeleaf模板引擎
前面介绍了Spring Boot的优点,然后介绍了如何快速创建Spring Boot 项目.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/ ...
- Thymeleaf学习总结(1)——新一代Java模板引擎Thymeleaf
Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎.类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用 ...
- Beetl学习总结(1)——新一代java模板引擎典范 Beetl入门
1. 什么是Beetl Beetl目前版本是2.7.0,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验.是新一代的模板引擎. ...
- Java模板引擎 FreeMarker介绍1
Java模板引擎 FreeMarker介绍 摘要: FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写,FreeMarker被设计用来生成HTML Web页面( ...
最新文章
- linux挂载设备类型lvm,linux——管理系统设备之LVM的管理
- win10怎么用Linux命令,教你Windows10系统使用Linux命令的技巧
- LL-verilog语法:case用法
- 鸿蒙科技与文化,数字阅读 | “华为鸿蒙”:当现代科技遇到古典文化
- 使用Sniffer Pro监控网络流量
- 香港科技大学TensorFlow速成(1)
- Understanding Growth
- (5)二进制文件方式部署Kubernetes高可用集群----------创建kubeconfig文件Token.csv随机数文件
- python画离散点_python 画散点图
- \opencv\build\x86下的vc6、vc7、vc8、vc9、vc10、vc11、vc12、vc14、vc15是什么意思?
- 快手短视频批量下载工具详细使用说明
- DSP 程序远程升级 / Bootloader设计指南(一)—— 初识Bootloader/DSP引导流程
- 【网络是怎么连接的】| 【03】探索集线器、交换机和路由器
- 大规模网络拓扑测量与分析研究1-论文
- 数码显示实验报告C语言,数码管动态显示实验报告
- mysql取分组最新的一条_mysql group by之后取每个分组最新的一条
- Simulink —— Manual Switch的使用
- Excel 处理重复数据的几种方法
- Spring 表达式语言(SpEL)
- 码农犯错导致多人赢取头奖,麦当劳叔叔一笑谅解