我一直坚持这个问题已经有一段时间了。我发现了一篇早期文章,其中BalusC为JSF版本1.2创建了一个名为“EmptyToNullConverter”的转换器。 或在JSF 2.0中指定上下文参数
<context-param>
<param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
<param-value>true</param-value>
</context-param>
这些选项都不适用于我。它对其他人有用吗?
对我自己进行一些调查后,我最终逐步完成了UIInput源代码。我可以看到值为null,直到它传递给ValueExpression。不幸的是,我没有这方面的资源,所以我无法进一步深入研究。我假设它在这里它最终实例化一个新的String Type而不是将它传递给model属性?
我的环境如下
任何帮助将不胜感激
答案 0 :(得分:0)
我知道使用Richfaces和Sun的默认JSF实现1.2时遇到了这个问题。 解决此问题的一种方法是使用您自己的自定义转换器,将您需要的空值(0,“”)转换为空值。
其他方法是在您的backingbean内进行转换:
MyBackingBean { String myValue; public void setMyValue(String v) { if (v==null || v.trim().length==0) { myValue==null; } else { myValue=v; } } public String getMyValue() { return myValue; } }