内容简介:Beetl是一款全功能,性能优秀的国产模板引擎,可以广泛用于动态页面生成,静态页面生成,代码生成,文本转换,脚本和规则引擎等,从2011年来,一直维护,并得到国内用户的肯定。 本次发布是3.0的第一个版本,3.0...
Beetl是一款全功能,性能优秀的国产模板引擎,可以广泛用于动态页面生成,静态页面生成,代码生成,文本转换,脚本和规则引擎等,从2011年来,一直维护,并得到国内用户的肯定。
本次发布是3.0的第一个版本,3.0 版本相比于2.0,在文本处理和脚本引擎上做了增强
* Beetl支持自定义模板的定界符和站位符,Beetl3 允许再定义一对“站位符和定界符”,比如定义了模板的定界符<%%>,站位符${},你可以定义一对,比如<!--: --> 和 #{} 如下是一段模板。自定义定界符和占位符有有助于和模板“融洽相处”
<!--: for(u in users){ -->
<span>${u.name},#{u.content} </span>
<!--:}-->
* HTML 标签增强,可获取父子关系,标签定义的变量可导出到整个模板使用
<cms:define export="contents"/>
//其他地方可以用conents
<cms:foreach list="${contents}" var="c">
<span>${c.title}</span>
</cms:foreach>
* 语法树可定制,2.X版本如果要修改语法树,写的代码较多,3.0能轻易的修改语法树,实现自己特有逻辑,比如在线内容管理系统要求循及时模板写错了,循环运行超过不能超过1万次,
@ while(true){ \\ 恶意写法
@}
3.0 能轻易修改while节点实现,通过GrammarCreator,替换自己的实现,从而限制while循环限制次数,Beetl的所有语法节点都可以被替换,以实现扩展需求,譬如 #{} 的实现需要xxs
@Override
public PlaceholderST createTextOutputSt2(Expression exp, FormatExpression format) {
check("TextOutputSt2");
return new YourXXSPlaceholderST(exp, format, null);
}
YourXXSPlaceholderST 内部可以参考PlaceholderST.java实现,但增加了XSS校验
* 提升了脚本API,Beetl 本身就是脚本引擎,Beetl3 增加了多个脚本&规则运行的API,可以方便的提供脚本功能
Map ret = groupTemplate.runScript("return 2*利率;",paras);
Double d = ret.get("return");
* 片段渲染增强,Beetl允许只渲染模板的一部分,Beetl3增强了片段渲染功能。
* 语法糖,增加了诸如 x+=y ,user.age+=1这种语法.
* Beetl3内部做了较多改动,但性能还是一贯的优秀,没有已知的模板引擎在性能上超过Beetl3
Maven
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetl</artifactId>
<version>3.0.0.M1</version>
</dependency>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Beetl 3.0.20 版本发布,Java 模板引擎
- Beetl 3.1.7 版本发布,Java 模板引擎
- Beetl 3.1.8 版本发布,Java 模板引擎
- Beetl 2.9.2 版本发布,Java 模板引擎
- Beetl 2.9.8 版本发布,Java 模板引擎
- Beetl 2.9.10 版本发布,Java 模板引擎
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
常用算法深入学习实录
张子言 / 电子工业出版社 / 2013-10 / 89.00元
对于任何一门编程语言来说,算法都是程序的“灵魂”。正是因为算法如此重要,所以笔者精心编写了本书,希望通过书中的内容引领广大读者一起探讨学习算法的奥秘,带领广大读者真正步入程序开发的高级世界。 本书共分15章,循序渐进、由浅入深地详细讲解算法的核心内容,并通过具体实例的实现过程演练各个知识点的具体用法。本书首先详细讲解算法的基础知识,剖析了将算法称为“程序灵魂”的原因。然后详细讲解算法技术的核......一起来看看 《常用算法深入学习实录》 这本书的介绍吧!