gpt4 book ai didi

java - 有没有一种简单的方法可以在 Spring MVC 中将空表单输入转换为空字符串?

转载 作者:IT老高 更新时间:2023-10-28 13:50:20 27 4
gpt4 key购买 nike

我正在使用 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);
}
}

}


有两个问题:

  1. 没有 getAsText,所以我的表单填充了“null”字符串!
  2. 我的相等性检查是 C++,而不是 Java。当我尝试推荐的setter,我刚刚重新加载了已经包含“null”的帖子字符串。清理完所有这些后,一切都开始工作了。

感谢您的帮助,并为我的“运算符(operator)错误”道歉!

布雷特

最佳答案

你要找的类(class)是:

org.springframework.beans.propertyeditors.StringTrimmerEditor

如果你用 true 构造它,它会将空/空白字符串转换为 null。如何将其注册到 Binder 取决于您是希望它成为默认 View 还是仅应用于某些 View 。

例如,您可以在单个 Controller 上添加

@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}

instructions here

关于java - 有没有一种简单的方法可以在 Spring MVC 中将空表单输入转换为空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2977649/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com