Проблемы с оценкой выражения Mvel, если значение равно null

Допустим, у меня есть приведенное ниже выражение, которое необходимо оценить с помощью MVEL.

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

предположим, что значение B равно NULL, тогда MVEL оценивает «A * B» как FALSE. "(A * B) + C" становится FalseC Затем FalseC/D выдает исключение

Как предотвратить это...??


person Ankur Singhal    schedule 26.11.2013    source источник


Ответы (1)


На данный момент мы решили, что это подход ниже. Если вы на самом деле отлаживаете это в классах API Mvel, они явно возвращают false для этого конкретного случая. Если Mvel сможет это исправить, будет хорошо. Но с этой же проблемой я также столкнулся, поэтому то, что мы сделали, мы создали некоторый интеллект перед выполнением выражения, мы изменили выражение и включили условие «ЕСЛИ» для проверки полей, которые являются нулевыми и имеют оператор как «/» или «* ", возвращаемый ноль.

person Ankur Singhal    schedule 30.03.2014