У меня есть дата (как строка). Я хотел бы сопоставить это с объектом команды. Я немного оглянулся и не нашел большого ресурса о том, как сделать это сопоставление в пределах объекта команды с реальной датой.привязать дату к команде объекта в Grails
Если бы я должен был сделать это в самом контроллере, я мог бы просто сделать следующее, однако это не позволяет мне легко отобразить в свой объект команды.
def endDate = params.date('endDate', 'MM/dd/yyyy')
Для моего объекта команды, ближе всего я был в состоянии получить это переопределить геттер и сеттер для объекта даты. Оба должны быть переопределены, иначе сеттер не будет использоваться. Это то, что я впервые попробовал (установите String to Date, но получите Date). Так что это не использует сеттер:
@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()
}
}
Был ли полезен ответ? – dmahapatro