Drools 8决策表中'in'约束仅识别首个项,如何生成完整枚举规则?
解决Drools决策表多值枚举匹配问题
- Drools决策表默认用**竖线(|)**作为多值分隔符,而非逗号。把单元格内容改成
MyEnum.V1|MyEnum.V2|MyEnum.V3,配合原条件myVariable in ($1),就能生成包含所有枚举值的完整规则。 - 如果一定要用逗号分隔,可在决策表的配置区域添加
separator=,,指定逗号作为多值分隔符。但要注意:如果枚举值本身包含逗号,这种方式会引发解析错误,因此优先推荐竖线分隔方案。 - 也可以拆分多值到不同列,把条件改为
myVariable in ($1, $2, $3),再将MyEnum.V1、MyEnum.V2、MyEnum.V3分别填入对应列,但这种方式不够简洁。
内容的提问来源于stack exchange,提问作者Richard
相关产品推荐
相关产品推荐

