5、Drools规则引擎-.drl文件的规则语法

简介: 上一章我们讲了Drools的入门,可能很多人看到.drl的规则文件的时候,一脸蒙蔽,本章我们来讲一下规则引擎对应的规则语法
上一章我们讲了Drools的入门,可能很多人看到.drl的规则文件的时候,一脸蒙蔽,本章我们来讲一下规则引擎对应的规则语法

先来看上文中用到的规则文件

package com.echo.drools.dto
import com.echo.drools.dto.User
dialect "java"

rule "address eq beijing"
    when
        $user: User(address == "北京")
    then
         System.out.println($user.getName() + "是个北漂");
    end

rule "address eq shanghai"
    when
        $user: User(address == "上海")
    then
         System.out.println($user.getName() + "是个上漂");
    end

Drools的基础语法

关键字 含义
package 包路径。建议该路径写我们的逻辑代码路径
dialect 语言,指定目前系统语言
import 导入规则文件需要使用到的外部变量,和Java的引入一样
rule 规则体,以rule开头,以end结尾。后面一般会跟一只字符串的值,建议字符串的值写规则名称,或者描述什么规则
when 条件,这里如果为空,则表示eval(true)
then 符合条件之后执行的逻辑
变量名 以$符号开始后面跟我们Java中的对象

部分语法补充

  • 注释的使用,单行// 多行/**/
  • 单个drl文件可以书写多个规则
  • 条件允许为空

更多语法

后面用到在不断补充

目录
相关文章
|
XML Java 应用服务中间件
Filter 过滤器--基本原理--Filter 过滤器生命周期--过滤器链--注意事项和细节--全部应用实例--综合代码示例
Filter 过滤器--基本原理--Filter 过滤器生命周期--过滤器链--注意事项和细节--全部应用实例--综合代码示例
204 0
过滤器简介--操作步骤--过滤器生命周期--过滤器匹配规则-- 过滤器链
过滤器简介--操作步骤--过滤器生命周期--过滤器匹配规则-- 过滤器链
83 0
|
安全 Java 索引
6、Drools规则引擎-.drl文件的规则语法二
salience | 定义规则优先级的整数,数值越大,优先级越高 enabled | 规则启用开关 date-effective | 包含日期和时间定义的字符串。仅当当前日期和时间在date-effective属性之后时,才能激活该规则。
234 0
|
Java 编译器 API
《Drools7.0.0.Final规则引擎教程》第4章 4.5RHS语法
《Drools7.0.0.Final规则引擎教程》第4章 4.5RHS语法
251 0
《Drools7.0.0.Final规则引擎教程》第4章 4.5RHS语法
《Drools 7 规则引擎教程》番外篇-规则条件匹配机制
《Drools 7 规则引擎教程》番外篇-规则条件匹配机制
354 0
|
Java
《Drools7.0.0.Final规则引擎教程》第4章 4.1 规则文件
《Drools7.0.0.Final规则引擎教程》第4章 4.1 规则文件
215 0
Drools规则引擎-如果Fact对象参数为null如何处理
Drools规则引擎-如果Fact对象参数为null如何处理
335 0
|
数据库
《Drools7.0.0.Final规则引擎教程》番外实例篇——获取规则名称和包名
《Drools7.0.0.Final规则引擎教程》番外实例篇——获取规则名称和包名
231 0
|
安全 Java 数据库
《Drools7.0.0.Final规则引擎教程》第4章 4.4 约束(Pattern的一部分)
《Drools7.0.0.Final规则引擎教程》第4章 4.4 约束(Pattern的一部分)
291 0
|
存储 数据库
Drools规则模板使用之Excel
Drools规则模板使用之Excel
609 0

热门文章

最新文章