欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-28 11:17:47
...

echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075) 交流学习。


上一章我们讲了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文件可以书写多个规则
  • 条件允许为空

更多语法

后面用到在不断补充