内容简介:本次发布改善了 Function 功能,让 Beetl 在语法解析阶段能定制 Function 增加 LineAware 接口,实现此 Function 的函数,会在调用时候,在参数列表后追加一个所在行的参数,如 debug 函数,可以输出变量和调用时候...
本次发布改善了 Function 功能,让 Beetl 在语法解析阶段能定制 Function
- 增加 LineAware 接口,实现此 Function 的函数,会在调用时候,在参数列表后追加一个所在行的参数,如 debug 函数,可以输出变量和调用时候所在的行
- 增加 ForceSafe 接口,实现此 Function 的函数,会在调用的时候,参数列表会增加一个安全输出符号,如 isEmpty 函数
isEmpty(user)会变成isEmpty(user!) - 增加 ChangeInput 接口,更加通用的方式,可以自定修改方法参数,如 has 函数
has(var1)会更改为has("var1")
Beetl 之前会有些”魔法函数“实现特殊功能,这次规范,只要实现如上接口,就可以实现各种魔法应用
public interface Function {
/**
* @param paras beetl传递的参数
*/
Object call(Object[] paras, Context ctx);
/**
* 如果Function实现了此接口,则会添加额当前外行参
* @see org.beetl.ext.fn.DebugFunction
*/
static interface LineAware{}
/**
* 如果Function还实现了此接口,则此函数参数将使用安全输出符号
* @see org.beetl.ext.fn.IsNotEmptyExpressionFunction
*/
static interface ForceSafe{}
/**
* 如果Function实现了此接口,则入参会在解析的时候修改
* @see org.beetl.ext.fn.CheckExistFunction
*
*/
static interface ChangeInput{
public Expression[] update(GrammarCreator creator,Expression[] exps,GroupTemplate gt);
}
}
- 对不符合 JavaBean 规范的 POJO,抛出异常的时候给与明确提示
Beetl 是一款全功能,高性能优秀的国产模板引擎,各方面特性领先国外同类引擎技术,可以广泛用于动态页面生成,静态页面生成,代码生成,文本转换,脚本语言和规则引擎等,从 2011 年来一直维护,并得到国内公司用户的赞赏。
Maven
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetl</artifactId>
<version>3.8.0.RELEASE</version>
</dependency>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Pro JavaScript Techniques
John Resig / Apress / 2006-12-13 / USD 44.99
Pro JavaScript Techniques is the ultimate JavaScript book for the modern web developer. It provides everything you need to know about modern JavaScript, and shows what JavaScript can do for your web s......一起来看看 《Pro JavaScript Techniques》 这本书的介绍吧!