在QLExpress里面,还有一个非常重要的东西就是宏,宏是什么呢?其实就是就是一些命令组织在一起,作为一个单独命令完成一个特定任务。
QLExpress的宏是在实际使用中使用最多的,特别是在生产环境,他有如下几个优点:
1、定义很方便 2、使用起来逻辑很简单
下面我们举个很简单的案例,这个案例我们使用官方的案例来演示下。
背景
学生有3门成绩,语文、数据、外语,如果三门分数的平均分能达到90分,则算作是优秀。
下面代码演示下
@Test public void test8() throws Exception { // 定义规则引擎执行器,qlexpress中的规则引擎执行的时候都是在这个ExpressRunner里面执行的 ExpressRunner runner = new ExpressRunner(); runner.addMacro("计算平均成绩", "(语文+数学+英语)/3.0"); runner.addMacro("是否优秀", "计算平均成绩>90"); IExpressContext<String, Object> context = new DefaultContext<String, Object>(); context.put("语文", 88); context.put("数学", 99); context.put("英语", 95); Object result = runner.execute("是否优秀", context, null, true, true); log.info("本次规则执行的结果是:{}", result); }
以上的代码算作是官方提供的一个案例,我们直接运行一下:
最后得出的结果就是ttrue,完整的进行了计算。所以这个宏使用起来非常方便,下一篇我们会使用宏介绍几个案例给大家。
备注:
1、使用宏的时候,我们可以不单独写ql表达式语句了。
2、使用宏的话,我们可以把每一个逻辑都在宏里面定义出来。
3、使用宏的时候,我们的参数可以是自定义的占位符,使用起来也非常方便。
还没有评论,来说两句吧...