grails - 读取 g :datePicker-value in Grails without using the "new Object(params)"-method

标签 grails datepicker gsp taglib

假设我有一个名为“foobar”的日期选择器:

<g:datePicker name="foobar" value="${new Date()}" precision="day" />

如何读取此日期选择器的提交值?

一种有效但有一些不良副作用的方法如下:

def newObject = new SomeClassName(params)
println "value=" + newObject.foobar

这种方式将所有提交的字段读入 newObject,这是我想避免的。我只对“foobar”字段的值感兴趣。

我最初认为可以做到这一点的方式是:

def newObject = new SomeClassName()
newObject.foobar = params["foobar"]

但 Grails 似乎不会自动将 foobar 字段转换为 Date() 对象。

已更新: 更多信息可在 Grails JIRA 中找到.

最佳答案

使用 command object成语。对于您的示例,我假设您的表单调用操作 handleDate。 Controller 内部:


def handleDate = { FoobarDateCommand dateCommand ->
    def theNextDay = dateCommand.foobar + 1
}

这是 FoobarDateCommand。请注意如何将字段命名为与 View 中相同的名称:


class FoobarDateCommand { 
    Date foobar 
}

命令对象是封装每个表单的所有验证任务的便捷方式,使您的 Controller 保持美观和小巧。

关于grails - 读取 g :datePicker-value in Grails without using the "new Object(params)"-method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/534330/

相关文章:

grails - 在 Grails 中跟踪多个请求中的变量

jquery - Grails-合并来自多个域的数据并返回 Controller

spring - Spring Security如何在Grails中调用remoteFunction时重定向到登录

grails - 如何在 View 中调用 Grails 服务?

Grails 不被识别为内部或外部命令 (Windows 7)

javascript - Datepicker - onClose 不运行

javascript - Jquery UI.Datepicker : Display tooltip on mouse hover

c# - 使用 Bootstrap Datepicker 选择 future 日期并将其传递给 ASP.NET MVC Controller

forms - grails表单重定向给出404,但是URL映射有效

grails - 如何访问在 <g :each> tag? 中生成的 gsp 文件中的单个值