我正在使用一些MEL根据SQL查询的返回值来设置变量-
#[payload[0].PRTY_TYPE]
我遇到的问题是,有时PRTY_TYPE
可能会变成空白。
除了使用异常处理外,我还可以简单地在变量设置中编辑MEL,以便将其设为NULL
并为其提供默认值吗?喜欢-
IF #[payload[0].PRTY_TYPE] IS NULL THEN 'support@email.com'
答案 0 :(得分:2)
尝试为此使用三元表达式:
#[payload[0].PRTY_TYPE != null ? payload[0].PRTY_TYPE : 'support@email.com']
您还可以通过DataWeave内联执行此操作:
#[dw("payload[0].PRTY_TYPE default 'support@email.com'")]
DW是Mule 4中的表达语言,因此您无需调用dw
:
#[payload[0].PRTY_TYPE default 'support@email.com']
答案 1 :(得分:0)
我已经使用or
运算符完成了此操作。您可以使用or
运算符,例如:
#[payload[0].PRTY_TYPE or 'support@email.com']
如果support@email.com
为payload[0].PRTY_TYPE
,则该表达式的值为null
根据Mule文档,实际上您可以通过使用.?
运算符检查属性是否存在来进行更具体的检查,例如:
#[payload[0].?PRTY_TYPE or 'support@email.com']
我认为这会更安全。
参考
有关更多信息,请检查此link,以获取有关链接元素的更多信息。