What is Mvel dialect in Drools?

前端 未结 5 1945
无人及你
无人及你 2021-01-02 16:21

I am new to Drools. I am creating a rule but I get a compile time error

\"field is not visible\'.

I\'ve tried to check with Jbo

5条回答
  •  借酒劲吻你
    2021-01-02 17:03

    rule "validate holiday" 
        dialect "mvel"
        dialect "java"
        when
            $h1 : Holiday( month == "july" )
        then
            System.out.println($h1.name + ":" + $h1.month);
        end
    

    The purpose of dialect "mvel" is to point the Getter and Setters of the variables of your Plain Old Java Object (POJO) classes. Consider the above example, in which a Holiday class is used and inside the circular brackets (parentheses) "month" is used. So with the help dialect "mvel" the getter and setters of the variable "month" can be accessed.

    Dialect "java" is used to help us write our Java code in our rules. There is one restriction or characteristic on this. We cannot use Java code inside "when" part of the rule but we can use Java code in "then" part.

    We can also declare a Reference variable $h1 without the $ symbol. There is no restriction on this. The main purpose of putting the $ symbol before the variable is to mark the difference between variables of POJO classes and Rules.

    Regards.

提交回复
热议问题