Java 如果值为null,则Mvel表达式求值问题

Java 如果值为null,则Mvel表达式求值问题,java,scripting,mvel,Java,Scripting,Mvel,假设我有一个下面的表达式,需要使用MVEL进行计算 A*B+C/D 假设B的值为NULL,则MVEL将A*B计算为FALSE。 A*B+C变为假C 然后FalseC/D抛出异常 如何防止这种情况…?到目前为止,我们解决了以下方法。 如果您实际在MVELAPI类中对此进行调试,那么对于这种特殊情况,它们显式返回false。如果Mvel能解决这个问题,那就好了。但我也遇到了同样的问题,所以我们在执行表达式之前创建了一些智能,我们修改了表达式并包含了IF条件,以检查字段是否为null,以及是否有运算符

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

A*B+C/D

假设B的值为NULL,则MVEL将A*B计算为FALSE。 A*B+C变为假C 然后FalseC/D抛出异常


如何防止这种情况…?

到目前为止,我们解决了以下方法。 如果您实际在MVELAPI类中对此进行调试,那么对于这种特殊情况,它们显式返回false。如果Mvel能解决这个问题,那就好了。但我也遇到了同样的问题,所以我们在执行表达式之前创建了一些智能,我们修改了表达式并包含了IF条件,以检查字段是否为null,以及是否有运算符as/or*,返回null