我有一个简单的Groovy bean,看起来像这样:
class GroovyBean {
Integer id
String title
}
然后在JSP页面上使用此bean来支持带有标题文本输入的基本HTML表单。对于数据库,标题列设置为不可为空。这意味着,当用户将此字段留空并提交(通过POST完成)时,会抛出异常。我发现bean的以下更改修复了这个问题:
class GroovyBean {
Integer id
String title = ""
}
我有点困惑,但是如何修复它。我问的是,当用户将标题的输入留空并提交时,会发生什么?我认为我默认设置的这个空字符串将被HTML表单中发送的null覆盖,但这种情况并没有发生。此处的所有内容似乎都能正常运行,包括清除现有标题并重新提交。如果有人能够提供有关Groovy生成的setter如何处理此信息的信息,我将不胜感激。谢谢。
答案 0 :(得分:2)
我不认为这种行为是由Groovy引起的,这可能是由于容器的配置造成的:通常可以配置容器处理空值的方式。
如果您使用的是Tomcat,则可以将属性ALLOW_EMPTY_QUERY_STRING配置为true
,这样它将允许空字符串值check out the docs。