如何在DROOLS中处理NULL或NOT NULL

问题描述 投票:0回答:1

我制定了规则

rule "NullCheck_Rule1"
salience 1
dialect "mvel"
date-effective "16-Nov-2017 00:00"
no-loop  
when 
$cdr : JSONObject( $cdr.optString("name") == null)   
then
$cdr.put("Action_1" ,"SEND MAIL");end

并且不为空

rule "NullCheck_Rule1"
salience 1
dialect "mvel"
date-effective "16-Nov-2017 00:00"
no-loop  
when
$cdr : JSONObject( $cdr.optString("name") != null)   
then
$cdr.put("Action_1" , "SEND MAIL");end

我的输入是这样的

"{\"id\":100,\"name\":null,\"city\":\"Pune\"}"

但即使我使用像

$cdr.optString("name") IS NULL
OR
$cdr.optString("name") IS NOT NULL

这样的条件,它也不匹配条件

那么drools中如何处理null和not null。我使用的drools版本是6.5.0.Final。

null drools business-rules drools-guvnor
1个回答
0
投票

我在 drools 导入代码块中导入了包来处理 NULL 或 NOT NULL。例如“import org.apache.commons.lang3.StringUtils;”封装在规则块之前,在规则块中使用 isBlank/isNotBlank 函数来处理 Null 问题。

© www.soinside.com 2019 - 2024. All rights reserved.