我有课BigDecimal
财产。当我绑定到它 EL 表达式并传递 null 时 -valueExpression.set(context, null)
,财产的新价值变为BigDecimal.ZERO
.
有什么方法可以将 null 传递给BigDecimal
字段而不将其转换为零?
您似乎正在运行至少版本 6.0.16 的 Tomcat 或其分支,例如 JBoss AS。 Tomcat 的内置 Apache EL 解析器确实会为所有扩展类执行此操作Number http://docs.oracle.com/javase/6/docs/api/java/lang/Number.html。您需要添加以下 VM 参数来禁用此行为(这确实不直观,但不幸的是严格按照 EL 规范):
-Dorg.apache.el.parser.COERCE_TO_ZERO=false
也可以看看JSP/EL 规范问题 184 http://java.net/jira/browse/JSP_SPEC_PUBLIC-184 and Tomcat 问题 42385 https://issues.apache.org/bugzilla/show_bug.cgi?id=43285.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)