用Mvel构建表达式<一>

写在开始

    mvel是基于java的表达式语言。

正文

    本文是在笔者利用java编译mvel函数脚本(函数解析器),完成对自定义函数的解析。笔者所在的开发项目,是金融风控类,需要对系统内置函数进行设定,如果用户需要自定义函数,就必须利用内置函数进行构建。

①内置函数脚本编写

        系统内置函数过多,不在赘述,只介绍几个基本的函数解析。

用Mvel构建表达式<一>_第1张图片
内置mvel函数脚本

②编译内置mvel函数脚本


用Mvel构建表达式<一>_第2张图片
编译内置mvel函数脚本


特殊用法

        final Claendar c=Calendar.getInstance();是把java的Claendar类加入到编译环境中(笔者import失败,故采用这种方法),在mvel内置函数脚本中使用了一些计算时间的函数,利用Claendar类实现。

        ctx.addImport();就是类似于import某某包,见名知意。


用Mvel构建表达式<一>_第3张图片

            resolverFactory类似于运输车,运送map(key,key的值);

写在结尾

            当然,这只是很low的用法,优化改进方法也已经上传,请移步

            Mvel表达式<二>

            Mvel表达式<三>

            Mvel表达式<四>

你可能感兴趣的:(用Mvel构建表达式<一>)