Beetl 模板引擎 3.15.7 发布,Java 模板引擎


完成需求 I7KEB8,默认运算采用精度运算。

Beetl默认情况下当遇到数字以h结尾的时候,认为是BigDecimal类型,随后运算使用高精度运算。

var a= 3434.33h*233334;

新版本增加配置,不允许显示的使用h表示高精度类型

BIGDECIMAL=true

则默认所有数字都翻译成BigDecimal

Script script = groupTemplate.getScript("return 5/3;",loader);
script.execute();
if(script.isSuccess()){
	Object value = script.getResult().get("return");
	Assert.assertTrue(value instanceofBigDecimal);
	Assert.assertEquals(value,new BigDecimal(5).divide(new BigDecimal(3),ALU.scale, ALU.round ));
}else{
	Assert.fail();
}

 

Maven

<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetl</artifactId>
<version>3.15.7.RELEASE</version>
</dependency>

文档 源码 在线体验 模板性能测试 表达式引擎性能测试  性能优化指南 

最新模板性能测试,各个模板引擎均采用最新版本, Score 越大越好

Beetl>Rocker>>Freemarker>>Thymeleaf==Velociy

BenchmarkModeCntScoreErrorUnits

Beetl.benchmark thrpt5141912.506 ± 19090.130ops/s
Freemarker.benchmarkthrpt5 48062.783 ±9054.282ops/s
Handlebars.benchmarkthrpt5 48505.286 ±6078.944ops/s
Rocker.benchmarkthrpt5102699.041 ± 11827.123ops/s
Thymeleaf.benchmark thrpt5 14495.261 ±1460.815ops/s
Velocity.benchmarkthrpt5 12071.498 ±4226.219ops/s

最新规则引擎性能测试,Score 越大越好

JfireEL>> Aviator=Beetl=Jexl3 >>Spel>>Mvel=Groovy>>Nashor

Benchmark ModeCnt ScoreErrorUnits
Aviator.forExpresssthrpt5501413.321 ± 4657.336ops/s
Aviator.ifExpresss thrpt5 4699456.542 ± 266831.101ops/s
Aviator.simpleExpressthrpt5 3868701.018 ±38439.986ops/s
Beetl.forExpresssthrpt5 1685875.017 ±28454.020ops/s
Beetl.ifExpresss thrpt5 4461489.443 ±78687.317ops/s
Beetl.reflectthrpt5 62972.088 ±85785.390ops/s
Beetl.simpleExpressthrpt5 4328852.130 ± 144586.699ops/s
Groovy.ifExpresssthrpt5119493.364 ± 1472.301ops/s
Groovy.simpleExpress thrpt5121724.720 ± 1533.726ops/s
Jexl3.forExpresssthrpt5789815.632 ±42390.393ops/s
Jexl3.ifExpresss thrpt5 4500714.752 ± 138214.400ops/s
Jexl3.simpleExpressthrpt5 3901843.173 ± 125472.114ops/s
JfireEL.ifExpresss thrpt528337464.920 ± 291859.385ops/s
JfireEL.simpleExpressthrpt518824292.084 ± 103241.504ops/s
Mvel.forExpresss thrpt5 11954.857 ± 84.105ops/s
Mvel.ifExpresssthrpt5230373.242 ± 1827.288ops/s
Mvel.simpleExpress thrpt5316083.646 ± 1320.717ops/s
Nashorn.ifExpresss thrpt5 10010.541 ±752.057ops/s
Nashorn.simpleExpressthrpt58993.022 ±518.940ops/s
Spel.ifExpresssthrpt5850338.540 ±41826.542ops/s
Spel.simpleExpress thrpt5636251.839 ± 

Beetl.reflect 是指Beetl能像Java反射那样能查询出表达式结构,变量名


相關推薦

2023-12-12

Beetl研发自2010年,国内流行Java模板引擎 文档 源码 在线体验 模板性能测试 表达式引擎性能测试  性能优化指南  本次调整 *  修复自从2019年Beeetl2升级到Beetl3,不支持自定义方法提供的Context参数问

2023-04-03

化工具安全漏洞具有普遍性,漏洞只会发生于"在线运行模板引擎"的系统 如果不使用此版本,为了避免漏洞,可以禁用Beetl本地Class调用,也可以自定义安全管理器,加上对java.lang.Class.forName的限制 public class YourNativeSecurityManager

2022-11-01

3.19.0 发版中query.between 实现的bug 2 使用最新的beetl版本,模板相关sql性能带来小幅度提升 maven <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql</artifactId> <version>3.19.3-RELEASE</version> </dependency>

2023-07-22

月,v2.0 发布。官网增加 Solon Initializr,用于生成项目模板。 2023年4月,成为信通院可信开源社区、可信开源项目。Maven 单月下载量突破100万。代码提交数超 11000 次 2023年6月,Maven 单月下载量突破200万。官网资料超 500 个

2024-09-30

一个基于配置的文本生成工具,允许用户通过组合表单和模板来自动化生成如合同或代码等文档。该系统具有高度可配置性,能够提升文档生成的效率与准确性,帮助不同领域的用户快捷地达成目标,显著节约时间和资源。 使

2024-07-06

尔积。它们没有使用FreeMarker和或者Velocity等现成的文件式模板引擎。而是使用java语言开发了一套专门为动词算子式代码生成器使用的模板API。而其中的语句和语句组功能,为此模板体系最重要的核心API。此功能包含务五个对象

2024-07-12

 通用代码生成器模板体系,域对象,枚举和动词算子 通用代码生成器或者叫动词算子式通用目的代码生成器是一组使用Java编写的通用代码生成器。它们的原理基于动词算子和域对象的笛卡尔积。它们没有使用FreeMarker和或

2022-11-17

代码生成器光2.3.0文明,发布了最新操作视频。详细介绍模板向导界面的操作,使用了两个示例。包括弹性登录模块,复杂版面和图形报表。并介绍了一键生成的图片功能。 请见视频:https://www.bilibili.com/video/BV1gD4y147oK/ 另一个

2024-04-18

solon.web.flux) 添加 SolonException 异常基类 添加 solon.view 模板渲染器指定视图前缀的构造函数 添加 solon.view 模板渲染器的容器注册(提供容器扩展方式) 添加 solon.data TranUtils:getConnectionProxy 接口,方便不同的事务对接 添加 solo

2024-05-09

mvvm 框架,并基于此开发了一套支持 java/enjoy/freemarker/jsp 模板的代码生成器。 kfyty-core 项目核心,包含一些通用工具类、jar index 启动引导、泛型推断工具、jdbc 访问工具、bean 封装工具、包读取工具、json 转换工具以及自动

2024-07-25

开源协议,可免费用于商业网站。 支持无头 CMS,可使用模板 (Freemarker)+ 标签或 Vue (React)+API 方式制作网站。支持自定义字段及字段可视化设计,自定义字段在前后端均可作为搜索条件。 技术上尽量选择主流、先进、简单的架

2024-08-14

开源协议,可免费用于商业网站。 支持无头 CMS,可使用模板 (Freemarker)+ 标签或 Vue (React)+API 方式制作网站。支持自定义字段及字段可视化设计,自定义字段在前后端均可作为搜索条件。 技术上尽量选择主流、先进、简单的架

2022-09-06

​ 在消息配置中,新版本支持前端配置消息类型、消息模板,并通过脚本对消息进行过滤发送。 ​ O2OA V7.2.0中,在原有的企业网盘功能基础上,新增了企业网盘中的【企业文件模块】。 企业文件分为我的收藏(关联某个共

2024-08-14

函数、js 组件插件等 增加 Excel 导入导出测试类,增加模板导出方法及测试类 新增 Excel 导入导出支持 ExcelFields 注解添加到类上 新增 SM2Utils、SM3Utils、SM4Utils 国密算法工具类及测试类 新增 encrypt.defaultKey 参数,适用于