2

是否有可能告诉我的 JSF 实现将空数字转换为 null。到目前为止,我总是得到 0(对应的复杂类型)。
对于空字符串,有javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL,但我找不到任何数字。顺便说一句:不,我不能使用 vm-argument: -Dorg.apache.el.parser.COERCE_TO_ZERO=false

自定义数字转换器是我唯一的可能性吗?

4

2 回答 2

7

不,我不能使用 vm 参数:-Dorg.apache.el.parser.COERCE_TO_ZERO=false

问题出在服务器使用的 EL 实现中,而不是在 JSF 中。您确实需要使用 VM 参数。如果您不能使用它,那么您的问题只能通过将 Tomcat 降级到 6.0.15 或更早版本或用例如 Glassfish 替换服务器之外的其他方式解决。引入这种“改进的”EL 强制行为是 Tomcat 6.0.16。

如果你详细说明你不能使用它的确切原因(至少对我来说没有意义),那么我们也许能够提出如何真正使用它的方法。例如,如果不知道如何设置 VM 参数,那就这么说吧。或者,如果您因为它是第三方维护的服务器而不允许将 VM 参数添加到启动脚本,那么请说出来。这两个问题都可以解决,以便您可以正确使用 VM 参数。

于 2012-04-23T15:08:44.927 回答
0

曾经是 -Dorg.glassfish.el.COERCE_TO_ZERO=true: https://java.net/projects/uel/lists/issues/archive/2012-04/message/1 现在(Glassfish v4)是徒劳的! https://java.net/projects/uel/lists/commits/archive/2012-04/message/3

于 2014-04-21T02:02:16.823 回答