EL表达式:将null作为BigDecimal字段的值传递
我有一个BigDecimal
属性的类。 当我绑定它EL表达式并传递null – valueExpression.set(context, null)
,属性的新值变为BigDecimal.ZERO
。
有没有办法将null传递给BigDecimal
字段而不将其转换为零?
您似乎正在运行至少版本6.0.16的Tomcat或者像JBoss AS那样的分支。 Tomcat的内置Apache EL解析器确实会为扩展Number
所有类做到这一点。 您需要添加以下VM参数来禁用此行为(这确实不直观,但不幸的是严格按照EL规范):
-Dorg.apache.el.parser.COERCE_TO_ZERO=false
另请参见JSP / EL规范问题184和Tomcat问题42385 。