java - 如果值为 null,Mvel 表达式求值问题

标签 java scripting mvel

假设我有一个下面的表达式,需要使用 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/

相关文章:

java - HashMap<String,Double> 的格式错误的二进制序列化

java - 数独需要帮助构建可见矩阵

scripting - 从名称或 MaxScript 中皮肤列表的索引中获取骨骼 ID

android - android 上的 MVEL2 抛出异常

elasticsearch - 如何在Elasticsearch中使用MVEL访问/更新嵌套字段的属性

java - SQLite查询后光标返回无结果(通过单元测试但在运行时失败)--android

java - 使用 Tomcat 服务器从 Servlet 启动 Selenium Web 驱动程序时出错

php - HTTP 请求结束后,PHP 脚本还能继续运行吗?

用于查找与文件权限相关的所需输出的 ​​Linux 脚本

elasticsearch - 计算多值字段位置的距离