内容简介: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 模板引擎
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Agile Web Application Development with Yii 1.1 and PHP5
Jeffrey Winesett / Packt Publishing / 2010-08-27
In order to understand the framework in the context of a real-world application, we need to build something that will more closely resemble the types of applications web developers actually have to bu......一起来看看 《Agile Web Application Development with Yii 1.1 and PHP5》 这本书的介绍吧!