Mvel 表达式在 Drools 中不起作用
Mvel expression not working in Drools
我在 Drools LHS 中有以下 Java 规则:
Policy(((Person)contacts.get(0)).getHouseHold() == null)
这行得通。我期待我可以将其更改为这样的 mvel 表达式:
Policy(contacts[0]#Person.houseHold == null)
或者这个:
Policy((contacts[0])#Person.houseHold == null)
甚至这个:
Policy(((contacts[0])#Person).houseHold == null)
然而,当我编译 drools 规则时出现以下错误:
mismatched input '#' in rule "Rule1"
我的 mvel 表达式有什么问题?
这个有效:
$contact: contacts[0], $contact#Person.houseHold == null
我想 mvel 或 drools 无法直接处理列表元素的类型转换。
我在 Drools LHS 中有以下 Java 规则:
Policy(((Person)contacts.get(0)).getHouseHold() == null)
这行得通。我期待我可以将其更改为这样的 mvel 表达式:
Policy(contacts[0]#Person.houseHold == null)
或者这个:
Policy((contacts[0])#Person.houseHold == null)
甚至这个:
Policy(((contacts[0])#Person).houseHold == null)
然而,当我编译 drools 规则时出现以下错误:
mismatched input '#' in rule "Rule1"
我的 mvel 表达式有什么问题?
这个有效:
$contact: contacts[0], $contact#Person.houseHold == null
我想 mvel 或 drools 无法直接处理列表元素的类型转换。