我有一个日期(作为字符串)被提交。我想将此映射到命令对象。我环顾四周,发现没有很好的资源来说明如何在命令对象中将此映射到实际日期。
如果我要在控制器本身中执行此操作,我可以执行以下操作,但这不允许我轻松映射到我的命令对象。
def endDate = params.date('endDate', 'MM/dd/yyyy')
对于我的命令对象,我能得到的最接近的是覆盖日期对象的 getter 和 setter。两者都需要被覆盖,否则不使用设置器。这是我第一次尝试的(将字符串设置为日期,但获取日期)。所以这不使用setter:
@grails.validation.Validateable
class TaskCreateCommand {
Date startDate
public void setStartDate(String dateStr){
this.start = Date.parse('MM/dd/yyyy', dateStr)
}
}
这不会产生任何运行时问题,但没有用,因为我无法提取实际的 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()
}
}