流口水:mvel 和 java 方言之间的差异
Drools: Differences between the mvel and java dialects
作为 Drools 的新手,我对 mvel 和 java 方言之间的差异以及使用这两种方言的相对优缺点感到困惑。
经过一些初步研究,我遇到了一些讨论 here, and here。
除了句法糖之外,还有哪些其他差异?使用 mvel 比 java 有什么额外好处?
谢谢。
MVEL 是 Apache 许可的强大表达式语言 (EL),用 Java 编写,用于基于 java 的应用程序,因此其语法与 Java.
- MVEL 表达式简洁,语法易于理解。
- Apache drools 使用 MVEL 模板进行动态代码生成。
- 与其他 EL 相比,MVEL 引擎性能良好
引擎。
考虑一个例子。
rule "validate holiday"
dialect "mvel"
dialect "java"
when
$h1 : Holiday( month == "july" )
then
System.out.println($h1.name + ":" + $h1.month);
end
方言 "mvel" 的目的是指向普通旧 Java 对象 (POJO) class 的变量的 Getter 和设置器。考虑上面的示例,其中使用了假日 class 并在圆括号(圆括号)内使用了 "month"。因此,借助方言 "mvel" 可以访问变量 "month" 的 getter 和设置器。
Dialect "java" 用于帮助我们在规则中编写 Java 代码。对此有一个限制或特征。我们不能在规则的 "when" 部分使用 Java 代码,但我们可以在 "then" 部分使用 Java 代码。
我们也可以声明一个没有$符号的Reference变量$h1。对此没有限制。在变量前加$符号主要是为了标示POJOclasses和Rules.
变量的区别
作为 Drools 的新手,我对 mvel 和 java 方言之间的差异以及使用这两种方言的相对优缺点感到困惑。
经过一些初步研究,我遇到了一些讨论 here, and here。
除了句法糖之外,还有哪些其他差异?使用 mvel 比 java 有什么额外好处?
谢谢。
MVEL 是 Apache 许可的强大表达式语言 (EL),用 Java 编写,用于基于 java 的应用程序,因此其语法与 Java.
- MVEL 表达式简洁,语法易于理解。
- Apache drools 使用 MVEL 模板进行动态代码生成。
- 与其他 EL 相比,MVEL 引擎性能良好 引擎。
考虑一个例子。
rule "validate holiday"
dialect "mvel"
dialect "java"
when
$h1 : Holiday( month == "july" )
then
System.out.println($h1.name + ":" + $h1.month);
end
方言 "mvel" 的目的是指向普通旧 Java 对象 (POJO) class 的变量的 Getter 和设置器。考虑上面的示例,其中使用了假日 class 并在圆括号(圆括号)内使用了 "month"。因此,借助方言 "mvel" 可以访问变量 "month" 的 getter 和设置器。
Dialect "java" 用于帮助我们在规则中编写 Java 代码。对此有一个限制或特征。我们不能在规则的 "when" 部分使用 Java 代码,但我们可以在 "then" 部分使用 Java 代码。
我们也可以声明一个没有$符号的Reference变量$h1。对此没有限制。在变量前加$符号主要是为了标示POJOclasses和Rules.
变量的区别