Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我有一个需要使用 MVEL 评估的以下表达式。
( ( ( A * B ) + C ) / D )
假设 B 的值为 NULL,则 MVEL 将“A * B”评估为 FALSE。"(A * B) + C" 变为 FalseC 然后 FalseC/D 抛出异常
如何防止这种情况...??
到目前为止,我们解决了这个问题。如果你真的在 Mvel API 类中调试它,它们会显式地为这种特殊情况返回 false。如果 Mvel 能解决这个问题,那就太好了。但是我也遇到了同样的问题,所以我们做了什么,我们在执行表达式之前创建了一些智能,我们修改了表达式并包含“IF”条件来检查字段是否为空并且运算符为“/”或“* ",返回空值。