【问题标题】:Using Spring:bind to set value to java object使用 Spring:bind 为 java 对象设置值
【发布时间】:2013-07-15 11:43:12
【问题描述】:

我正在使用 spring 的绑定 tld 将文本框映射到 java 模型对象的属性。当文本框中没有输入任何值并完成提交操作时,模型属性中将设置什么值?属性声明为字符串类型。我没有为文本框设置任何默认值。是设置了空值还是设置了“”?

【问题讨论】:

  • 您是否尝试在调试中查看值是什么?
  • 如果“文本框”是指type="text"的输入,那么在提交表单时,输入控件的已发布表单数据中包含一个属性,没有值跨度>
  • @DwB 没有任何意义,会是空还是 null?
  • 空字符串将是值。
  • 感谢 DwB.Ya 我将空字符串作为值。使用 StringTrimmerEditor 将该空值转换为空值。

标签: spring


【解决方案1】:

String 类型的提交表单值默认以"" 提交。

你可以注册 Spring 的 StringTrimmerEditor 来保证空值转换成 null 如果你愿意的话。

【讨论】:

  • 您有"" 值的来源吗?这会很有帮助。
  • 对不起,我的意思是:你从哪里得到关于默认值"" 的信息?链接到您的来源可能会有所帮助。清楚吗 ?我不是英语母语人士。
  • 哦,对了,我只知道经验。所有值都作为文本提交,如果它们为空,则为空字符串。属性编辑器用于将值转换为字符串以外的数据类型。配置了许多默认属性编辑器来处理大多数标准类型,例如Double、Integer等……Spring的文档很不错,看7.4.2 Built-in PropertyEditor implementations
  • @Matt,谢谢输入。在 StringTrimmerEditor 上找到了包含更多信息的讨论 - stackoverflow.com/questions/2977649/…
  • 请将此旧答案标记为“已接受”,它可以提高您的声誉并鼓励人们在未来继续回答您的问题。谢谢。
猜你喜欢
  • 1970-01-01
  • 2016-06-06
  • 1970-01-01
  • 2018-06-09
  • 2020-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多