假设我有一个下面的表达式,需要使用MVEL进行评估。

((((A * B)+ C)/ D)

假设B的值为NULL,则MVEL将“ A * B”评估为FALSE。
“(A * B)+ C”变为FalseC
然后FalseC / D引发异常

如何防止这种情况...?

最佳答案

截至目前,我们解决了以下方法。
如果您实际上在Mvel API类中对此进行调试,则对于这种特殊情况,它们将显式返回false。如果Mvel可以解决此问题,那将是很好。但是我也遇到了同样的问题,所以我们做的是,在执行表达式之前创建了一些智能,修改了表达式并添加了“ IF”条件,以检查是否为空并且将运算符设置为“ /”或“ *” ”,则返回null。

关于java - 如果值为null,则Mvel表达式评估问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20221513/

10-08 23:51