当前位置: 首页 > 软件库 > 程序开发 > 模板引擎 >

Beetl

新一代 Java 模板引擎典范
授权协议 BSD
开发语言 Java
所属分类 程序开发、 模板引擎
软件类型 开源软件
地区 国产
投 递 者 孙才捷
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Beetl 是新一代 Java 模板引擎典范。相对于其他 java 模板引擎,具有功能齐全,语法直观,性能超高,开发和维护模板有很好的体验。是新一代的模板引擎。总得来说,它的特性如下:

  • 功能完备:同主流的java模板引擎相比,Beetl具有绝大多数功能。适用于各种应用场景,从对响应速度有很高要求的大网站到功能繁多的CMS管理系统都适合。Beetl本身还具有很多独特功能来完成模板编写和维护,这是其他模板引擎所不具有的。

  • 非常简单:类似Javascript语法和习俗,只要半小时就能通过半学半猜完全掌握用法。拒绝其他模板引擎那种非人性化的语法和习俗。

  • 超高的性能:Beetl 远超过主流java模板引擎性能,如5-6倍于freemarker,2倍于传统jsp技术。而且消耗较低的CPU

  • 易于整合:Beetl能很容易的与各种web框架整合,如Spring MVC,JFinal,Struts,Nutz,Jodd,Servlet等。

  • 支持模板单独开发和测试,即在MVC架构中,即使没有M和C部分,也能开发和测试模板。

  • 扩展和个性化:Beetl支持自定义方法,格式化函数,虚拟属性,标签,和HTML标签. 同时Beetl也支持自定义占位符和控制语句起始符号也支持使用者完全可以打造适合自己的工具包.

  • 核心实现是脚本语言,可以作为规则引擎,表达式计算,脚本语言使用

 

关于模板引擎性能

 

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

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

Benchmark              Mode  Cnt      Score      Error  Units

Beetl.benchmark       thrpt    5  141912.506 ± 19090.130  ops/s
Freemarker.benchmark  thrpt    5   48062.783 ±  9054.282  ops/s
Handlebars.benchmark  thrpt    5   48505.286 ±  6078.944  ops/s
Rocker.benchmark      thrpt    5  102699.041 ± 11827.123  ops/s
Thymeleaf.benchmark   thrpt    5   14495.261 ±  1460.815  ops/s
Velocity.benchmark    thrpt    5   12071.498 ±  4226.219  ops/s

 

关于表达式引擎性能

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

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

Benchmark               Mode  Cnt         Score        Error  Units
Aviator.forExpresss    thrpt    5    501413.321 ±   4657.336  ops/s
Aviator.ifExpresss     thrpt    5   4699456.542 ± 266831.101  ops/s
Aviator.simpleExpress  thrpt    5   3868701.018 ±  38439.986  ops/s
Beetl.forExpresss      thrpt    5   1685875.017 ±  28454.020  ops/s
Beetl.ifExpresss       thrpt    5   4461489.443 ±  78687.317  ops/s
Beetl.reflect          thrpt    5     62972.088 ±  85785.390  ops/s
Beetl.simpleExpress    thrpt    5   4328852.130 ± 144586.699  ops/s
Groovy.ifExpresss      thrpt    5    119493.364 ±   1472.301  ops/s
Groovy.simpleExpress   thrpt    5    121724.720 ±   1533.726  ops/s
Jexl3.forExpresss      thrpt    5    789815.632 ±  42390.393  ops/s
Jexl3.ifExpresss       thrpt    5   4500714.752 ± 138214.400  ops/s
Jexl3.simpleExpress    thrpt    5   3901843.173 ± 125472.114  ops/s
JfireEL.ifExpresss     thrpt    5  28337464.920 ± 291859.385  ops/s
JfireEL.simpleExpress  thrpt    5  18824292.084 ± 103241.504  ops/s
Mvel.forExpresss       thrpt    5     11954.857 ±     84.105  ops/s
Mvel.ifExpresss        thrpt    5    230373.242 ±   1827.288  ops/s
Mvel.simpleExpress     thrpt    5    316083.646 ±   1320.717  ops/s
Nashorn.ifExpresss     thrpt    5     10010.541 ±    752.057  ops/s
Nashorn.simpleExpress  thrpt    5      8993.022 ±    518.940  ops/s
Spel.ifExpresss        thrpt    5    850338.540 ±  41826.542  ops/s
Spel.simpleExpress     thrpt    5    636251.839 ±   2553.017  ops/s
 

Beetl在线体验和代码分享:http://ibeetl.com/beetlonline/

  • 新接触一个模板框架Beetl,它自称性能是freemarker的5~6倍,是jsp的2倍,或许以后可以称为世界上最好的模板框架。 所谓模板,大概就像下面这样: 模板:I LOVE ${name} 装配:name = 'YOU' 结果:I LOVE YOU jsp是这样,freemarker是这样,Beetl也不例外。它们的目的都是根据模板装填参数,形成新的字符串(jsp实质上是servlet)。

  •        本文参考BeetlSql官方网站,官网网站请点击这里~        Beetl相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点。它的特性如下:        1、功能完备:作为主流模板引擎,Beetl具有相当多的功能和其他模板引擎不具备的功能。适用于各种应用场景,从对响应速度有很高要求的大网站到功能繁多的CMS管理系统都适合。Beetl本身

  • 官网地址:  BeetlSQL3 官方使用手册 · 看云 项目演示使用maven工程,新建一个Maven工程,直接引用如下库 <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql</artifactId> <version>${version}</version> </dependency> 然后再引入数据库驱

  • 1. 配置项 #默认配置: ##- 配置引擎实现类,默认即可. ENGINE=org.beetl.core.engine.FastRuntimeEngine ##- 指定了占位符号,默认是${ },也可以指定为其他占位符。 DELIMITER_PLACEHOLDER_START=${ DELIMITER_PLACEHOLDER_END=} ##-

  • BeetlSQL中文文档 作者: 闲大赋,Gavin.King,Sue,Zhoupan,woate 社区 http://ibeetl.com qq群 219324263 当前版本 2.7.3 , 另外还需要beetl(http://git.oschina.net/xiandafu/beetl2.0/attach_files) 包 1. BeetlSQL 特点 BeetSql是一个全功能DAO工具,

  • 1. 自定义标签和html标签 模版基础配置。文件位置:/org/beetl/core/beetl-default.properties l html标签: HTML_TAG_SUPPORT = true HTML_TAG_FLAG = # HTML_TAG_BINDING_ATTRIBUTE = var 说明: HTML_TAG_SUPPORT = true HTML_TAG_FLAG = #

  • 常用内置方法date 返回一个java.util.Date类型的变量,如 date() 返回一个当前时间(对应java的java.util.Date); ${date( "2011-1-1" , "yyyy-MM-dd" )} 返回指定日期 print 打印一个对象 print(user.name); println 打印一个对象以及回车换行符号,回车换号符号使用的是模板本身的,而不是本地系统的.

  • Beetl是一种模板引擎,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点。使得开发和维护模板有很好的体验。是新一代的模板引擎。总得来说,它的特性如下: 功能完备:作为主流模板引擎,Beetl具有相当多的功能和其他模板引擎不具备的功能。适用于各种应用场景,从对响应速度有很高要求的大网站到功能繁多的CMS管理系统都适合。Beetl本身还具有很多独特功能来完成

  • 本次发布修订了几个因为错误提示不明显的bug#333 安全输出不仅仅可用于变量引用,也可以用于方法调用表达式里${user.wife.name!'单身'} ${dict.query("org_type").name!'空'}#332 错误提示信息调用栈打印信息有误,这是上个版本调整带来的bug>>08:51:02:除0错误(DIV_ZERO_ERROR):0 发布于 2018-01-08 09:1

  • beetlsql 优点 开发效率 无需注解,自动使用大量内置SQL,轻易完成增删改查功能,节省50%的开发工作量 数据模型支持Pojo,也支持Map/List这种快速模型,也支持混合模型 SQL 模板基于Beetl实现,更容易写和调试,以及扩展 维护性 SQL 以更简洁的方式,Markdown方式集中管理,同时方便程序开发和数据库SQL调试。 可以自动将sql文件映射为dao接口类 灵活直观的支持

  • 3. 高级功能 3.1. 配置GroupTemplate Beetl建议通过配置文件配置GroupTemplate,主要考虑到IDE插件未来可能会支持Beetl模板,模板的属性,和函数等如果能通过配置文件获取,将有助于IDE插件识别。 配置GroupTemplate有俩种方法 配置文件: 默认配置在/org/beetl/core/beetl-default.properties 里,Beetl首先

 相关资料
  • 具体查看ejs官方文档 https://github.com/mde/ejs

  • 我们自己实现了一个轻量级的模板引擎,不要问为什么不用smart之类的,因为我们认为没有必要为了一个小小的模板引擎而引入smaart这样复杂的实现。你可能会说,smart功能强大,支持各种标签,标签也是很强大,而且还可以对模板引擎进行各种"灵活"的配置... 这里我们觉得有必要说明一下: 框架的内置模板引擎基本上实现了我们日常开中所有常用的标签。 不常用的标签我们也做了巧妙的实现。 我们只提供了扩展

  • 内置模板引擎 视图的模板文件可以支持不同的解析规则,默认情况下无需手动初始化模板引擎。 可以通过下面的几种方式对模板引擎进行初始化。 配置文件 内置模板引擎的参数统一在配置目录的template.php文件中配置,例如: return [ // 模板引擎类型 支持 php think 支持扩展 'type' => 'Think', // 模板路径 '

  • Warning: The packages listed below may be outdated, no longer maintained or even broken. Listing here does not constitute an endorsement or recommendation from the Expressjs project team. Use at your

  • Use the app.engine(ext, callback) method to create your own template engine. ext refers to the file extension, and callback is the template engine function, which accepts the following items as parame

  • hi-nginx-java内置了两个mustache模板引擎:mustache.java和jmustache。 以下介绍仅就jmustache而言。 字符串模板 字符串模板是最简单的情况。例如: package test; import hi.request; import hi.response; import hi.route; import java.util.regex.Matcher

  • 快速开始 安装模块 # 安装koa模板使用中间件 npm install --save koa-views # 安装ejs模板引擎 npm install --save ejs 使用模板引擎 demo源码 https://github.com/ChenShenhai/koa2-note/blob/master/demo/ejs/ 文件目录 ├── package.json ├── index.js

  • 模版引擎 引入 我们在使用ajax请求数据时,返回的如果是一个 JSON 格式的字符串,我们需要将其包装到对应的HTML代码中,再添加到页面上,才能看到效果。那么这个包装得过程有没有简单的方法呢? 假设在 js 中有如下数据: var obj = { name:"fox", age:18, skill:"卖萌" }; 希望包装为: <