html - 为 Groovy bean 属性设置默认值的行为

标签 html jsp groovy

我有一个简单的 Groovy bean,看起来像这样:

class GroovyBean {
    Integer id
    String title
}

然后,该 bean 在 JSP 页面上使用,以支持带有标题文本输入的基本 HTML 表单。对于数据库,标题列设置为不可为空。这意味着,当用户将此字段留空并提交(通过 POST 完成)时,会引发异常。我发现对 bean 的以下更改解决了这个问题:

class GroovyBean {
    Integer id
    String title = ""
}

但是我有点困惑这是如何解决的。我的问题是,当用户将标题输入留空并提交时,现在会发生什么?我认为我默认设置的这个空字符串会被 HTML 表单发送的 null 覆盖,但这种情况并没有发生。这里的一切似乎都工作正常,包括清除现有标题并重新提交。如果有人可以向我提供有关 Groovy 生成的 setter 如何处理此问题的信息,我将不胜感激。谢谢。

最佳答案

我认为这种行为不是由 Groovy 引起的,这可能是由于容器的配置引起的:您通常可以配置希望容器如何处理空值。

如果您使用的是 Tomcat,则可以将属性 ALLOW_EMPTY_QUERY_STRING 配置为 true,这样它将允许空字符串值 check out the docs .

关于html - 为 Groovy bean 属性设置默认值的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17110459/

相关文章:

JSP 表达式语言不起作用

java - 为什么在 Controller 方法上调用时 getParameterTypes 为空?

groovy - 如何在Groovy SQL中获取行数

javascript - 使用 AJAX post 更改数据属性标签后 CSS 未更​​改

html - 标题{边距 : trouble ;}

Python 美丽汤 : How to find all lowest-level divs (divs which don't contain nested divs)?

java - 表达语言。主导变量

html - 为什么 Bootstrap 选项卡在使用 highcharts 时显示宽度不正确的选项卡 Pane div?

java - 设置来自 Java Servlet 的 http 请求的按钮颜色

java - 如何在groovy中打印特殊字符