相关疑难解决方法(0)

h:绑定到String属性的inputText是提交空字符串而不是null

我在Tomcat上有一个JSF 2.0应用程序,有很多<h:inputText>字段可以在我的数据库中输入数据.某些字段不是必需的.

<h:inputText value="#{registerBean.user.phoneNumber}" id="phoneNumber">
    <f:validateLength maximum="20" />
</h:inputText>
Run Code Online (Sandbox Code Playgroud)

当用户将此字段留空时,JSF设置空字符串""而不是null.

如何在不检查每个String的情况下修复此行为

if (string.equals("")) { string = null; }
Run Code Online (Sandbox Code Playgroud)

string null jsf tomcat el

20
推荐指数
1
解决办法
3万
查看次数

有没有一种简单的方法可以将空的Java/Spring表单输入转换为空字符串?

有没有一种简单的方法可以将空表单输入转换为java中的空字符串?我正在使用spring mvc和SimpleJdbcInsert将对象插入MySQL数据库.我想在数据库中将空白输入设置为NULL而不是''.我有很多字段,我希望有一种方法可以做到这一点,而无需手动检查每个值.

谢谢!

编辑 - 所以我是个白痴.我的几个错误使我相信下面的正确答案是不正确的.我写了一个propertyEditorSupport,如下所示:

class StringEditor extends PropertyEditorSupport {

    public void setAsText(String text) {
        String value = text.trim();
        if ("" == value) {
            setValue(null);  
        } else {  
            setValue(value);  
        }
    }

}  
Run Code Online (Sandbox Code Playgroud)

两个问题 - 首先,没有getAsText,所以我的表单填充了"null"字符串!2,我的等式检查是C++,而不是java.当我尝试推荐的setter时,我只是重新加载了已经包含"null"字符串的帖子.一旦我清理了所有这些,一切都开始工作了.感谢您的帮助,对不起我的"操作员错误"!

布雷特

java spring spring-mvc form-submit

20
推荐指数
2
解决办法
2万
查看次数

标签 统计

el ×1

form-submit ×1

java ×1

jsf ×1

null ×1

spring ×1

spring-mvc ×1

string ×1

tomcat ×1