是否有可能告诉我的JSF实现将空数转换为null。 到目前为止,我总是得到0(相应的复杂类型) 对于空字符串,有 javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL ,但我找不到任何数字。顺便说一下:不,我不能使用vm-argument: -Dorg.apache.el.parser.COERCE_TO_ZERO = false
自定义数字转换器是我唯一的可能吗?
答案 0 :(得分:7)
不,我不能使用vm-argument:-Dorg.apache.el.parser.COERCE_TO_ZERO = false
问题出在服务器使用的EL实现中,而不是JSF中。您确实需要使用VM参数。如果您无法使用它,那么除了将Tomcat降级到6.0.15或更早版本,或者用例如Glassfish替换服务器之外,其他方式无法解决您的问题。当这种“改进的”EL强制行为被引入时,是Tomcat 6.0.16。
如果你详细说明你不能使用它的确切原因(这对我来说至少没有意义),那么我们可以提出如何真正使用它的方法。例如,如果无知如何设置VM参数,那么就这样说。或者,如果您不允许向启动脚本添加VM参数,因为它是第三方维护的服务器,那么请说明。这两个问题都可以解决,以便您可以正确使用VM参数。
答案 1 :(得分: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