如何在 drools - mvel 方言中进行 null 或空检查?
How to do null or empty check in drools - mvel dialect?
当 configList 为空时,AND 逻辑不应进一步进行,但我收到此错误 - "array index out of bounds".
规则如下:
rule "testRule"
when
config : Config( configList != null && !configList.empty && configList[0].attribute != null )
then
// logic
end
由于 Drools 执行规则条件的方式,无法保证短路逻辑运算符。在某些情况下它们有效,但在其他一些情况下它们无效。
作为解决方法,您可以将现有的单一模式拆分为两个:
rule "testRule"
when
config : Config( $configList: configList != null, configList.empty == false)
Attribute() from $configList.get(0)
then
// logic
end
我假设 $configList
是 Attribute
个对象的列表。
希望对您有所帮助,
当 configList 为空时,AND 逻辑不应进一步进行,但我收到此错误 - "array index out of bounds".
规则如下:
rule "testRule"
when
config : Config( configList != null && !configList.empty && configList[0].attribute != null )
then
// logic
end
由于 Drools 执行规则条件的方式,无法保证短路逻辑运算符。在某些情况下它们有效,但在其他一些情况下它们无效。
作为解决方法,您可以将现有的单一模式拆分为两个:
rule "testRule"
when
config : Config( $configList: configList != null, configList.empty == false)
Attribute() from $configList.get(0)
then
// logic
end
我假设 $configList
是 Attribute
个对象的列表。
希望对您有所帮助,