我提交了一个日期(作为字符串).我想将它映射到命令对象.我已经看了很多,并没有发现如何在命令对象中实现这种映射到实际日期的很好的资源.
如果我在控制器本身中执行此操作,我可以执行以下操作,但这不允许我轻松映射到我的命令对象.
def endDate = params.date('endDate', 'MM/dd/yyyy')
Run Code Online (Sandbox Code Playgroud)
对于我的命令对象,我能够得到的最接近的是覆盖日期对象的getter和setter.两者都需要被覆盖,否则不使用setter.这是我第一次尝试(将String设置为Date,但获取Date).所以这不使用setter:
@grails.validation.Validateable
class TaskCreateCommand {
Date startDate
public void setStartDate(String dateStr){
this.start = Date.parse('MM/dd/yyyy', dateStr)
}
}
Run Code Online (Sandbox Code Playgroud)
这不会给出任何运行时问题,但是没用,因为我无法提取实际的Date对象.
@grails.validation.Validateable
class TaskCreateCommand {
Date startDate
public void setStartDate(String dateStr){
this.start = Date.parse('MM/dd/yyyy', dateStr)
}
public String getStartDate(){
return start.toString()
}
}
Run Code Online (Sandbox Code Playgroud)