全面超越 Velocity 的全新一代 Java 模板引擎 jetbrick-template 1.0.0 正式版发布。
概述 Overview
jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性。 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板。 指令和 Velocity 相似,表达式和 Java 保持一致,易学易用。
- 支持类似与 Velocity 的多种指令
- 支持静态编译
- 支持编译缓存
- 支持热加载
- 支持类型推导
- 支持泛型
- 支持可变参数方法调用
- 支持方法重载
- 支持类似于 Groovy 的方法扩展
- 支持函数扩展
文档 Documents
http://subchen.github.io/jetbrick-template/
简单易用的指令
jetbrick-template 指令集和老牌的模板引擎 Velocity 非常相似,易学易用。
#define(List<UserInfo> userlist)
<table>
<tr>
<td>序号</td>
<td>姓名</td>
<td>邮箱</td>
</tr>
#for (UserInfo user : userlist)
<tr>
<td>${for.index}</td>
<td>${user.name}</td>
<td>${user.email}</td>
</tr>
#end
</table>
基本开发 API
- 创建自定义配置的
JetEngine
对象。推荐使用单例模式创建。 - 根据模板路径,获取一个模板对象
JetTemplate
。 - 创建一个
JetContext
对象,并加入你的 data objects。 - 准备一个待输出的对象,
OutputStream
或者Writer
。 - 根据你的 data objects 来渲染模板,并获得输出结果。
具体的 Java 代码,看上去是这样的:
// 创建一个默认的 JetEngine
JetEngine engine = JetEngine.create();
// 获取一个模板对象
JetTemplate template = engine.getTemplate("/sample.jetx");
// 创建 context 对象
JetContext context = new JetContext();
context.put("user", user);
context.put("books", books);
// 渲染模板
StringWriter writer = new StringWriter();
template.render(context, writer);
// 打印结果
System.out.println(writer.toString());
卓越性能 Perfermance
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
相关推荐
这里提到的两个核心组件是`alipay-sdk-java-1.0.0.jar`和`alipay-trade-sdk-1.0.0.jar`。 `alipay-sdk-java-1.0.0.jar`是基础的支付宝Java SDK,它提供了与支付宝服务器通信的基本框架和类库。这个SDK包含了处理...
《jd-eclipse-site-1.0.0-RC2.zip:Eclipse查看源码插件详解》 在软件开发过程中,对于Java开发者来说,Eclipse是一款广泛应用的集成开发环境(IDE)。然而,有时我们可能需要查看Java类的源代码,以便更好地理解其...
spring-ai-autoconfigure-model-ollama-1.0.0-M7.jar中文文档.zip,java,spring-ai-autoconfigure-model-ollama-1.0.0-M7.jar,org.springframework.ai,spring-ai-autoconfigure-model-ollama,1.0.0-M7,org.spring...
spring-ai-openai-1.0.0-M7.jar中文文档.zip,java,spring-ai-openai-1.0.0-M7.jar,org.springframework.ai,spring-ai-openai,1.0.0-M7,org.springframework.ai.openai,jar包,Maven,第三方jar包,组件,开源组件,第三方...
阿里云短信必备jar,阿里云短信必备jar,阿里云短信必备jar,
最新下载的 阿里云短信服务器所需jar包之一,... <artifactId>aliyun-java-sdk-core <version>3.2.2 如此引用即可,更多关于阿里云短信发送相关请参考http://blog.csdn.net/niaoer2010/article/details/78036664
spring-ai-openai-1.0.0-M7.jar中文-英文对照文档.zip,java,spring-ai-openai-1.0.0-M7.jar,org.springframework.ai,spring-ai-openai,1.0.0-M7,org.springframework.ai.openai,jar包,Maven,第三方jar包,组件,开源...
在移动通信领域,设备的更新换代是常态,为了提升设备性能、修复系统问题或增加新功能,手机厂商会发布升级包供用户进行刷机操作。中兴作为国内知名的通信设备制造商,其产品线广泛,其中U208型号的手机也不例外。...
spring-ai-autoconfigure-model-openai-1.0.0-M7.jar中文-英文对照文档.zip,java,spring-ai-autoconfigure-model-openai-1.0.0-M7.jar,org.springframework.ai,spring-ai-autoconfigure-model-openai,1.0.0-M7,org....
spring-ai-azure-openai-1.0.0-M7.jar中文-英文对照文档.zip,java,spring-ai-azure-openai-1.0.0-M7.jar,org.springframework.ai,spring-ai-azure-openai,1.0.0-M7,org.springframework.ai.azure.openai,jar包,Maven...
azure-ai-openai-1.0.0-beta.16.jar中文-英文对照文档.zip,java,azure-ai-openai-1.0.0-beta.16.jar,com.azure,azure-ai-openai,1.0.0-beta.16,com.azure.ai.openai,jar包,Maven,第三方jar包,组件,开源组件,第三方...
spring-ai-autoconfigure-vector-store-opensearch-1.0.0-M7.jar中文-英文对照文档.zip,java,spring-ai-autoconfigure-vector-store-opensearch-1.0.0-M7.jar,org.springframework.ai,spring-ai-autoconfigure-...
spring-ai-autoconfigure-vector-store-opensearch-1.0.0-M7.jar中文文档.zip,java,spring-ai-autoconfigure-vector-store-opensearch-1.0.0-M7.jar,org.springframework.ai,spring-ai-autoconfigure-vector-store-...
赠送jar包:deeplearning4j-modelimport-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-modelimport-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning4j-modelimport-1.0.0-M1.1-sources.jar; 赠送Maven依赖...
spring-ai-autoconfigure-model-openai-1.0.0-M7.jar中文文档.zip,java,spring-ai-autoconfigure-model-openai-1.0.0-M7.jar,org.springframework.ai,spring-ai-autoconfigure-model-openai,1.0.0-M7,org.spring...
spring-ai-azure-openai-1.0.0-M7.jar中文文档.zip,java,spring-ai-azure-openai-1.0.0-M7.jar,org.springframework.ai,spring-ai-azure-openai,1.0.0-M7,org.springframework.ai.azure.openai,jar包,Maven,第三方...
azure-ai-openai-1.0.0-beta.16.jar中文文档.zip,java,azure-ai-openai-1.0.0-beta.16.jar,com.azure,azure-ai-openai,1.0.0-beta.16,com.azure.ai.openai,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle...
rocketmq-console-ng-1.0.0.jar 编译好的jar包 可以直接使用