binden Ich habe ein Datum (als eine Zeichenfolge) eingereicht. Ich möchte dies einem Befehlsobjekt zuordnen. Ich habe mich ein wenig umgeschaut und keine großartige Ressource gefunden, wie man dieses Mapping innerhalb eines Befehlsobjekts auf ein echtes Datum anwenden kann.Datum an Befehlsobjekt in Grails
Wenn ich dies in der Steuerung selbst tun würde, könnte ich einfach folgendes tun, dies erlaubt mir jedoch nicht, einfach in mein Befehlsobjekt zu mappen.
Für mein Befehlsobjekt habe ich das Getter und Setter für das Datumsobjekt am nächsten gebracht. Beide müssen überschrieben werden, da sonst der Setter nicht verwendet wird. Dies ist, was ich zuerst versuchte (setzen Sie die Zeichenfolge auf Datum, aber erhalten Sie das Datum). So berührt dies die Setter verwenden:
@grails.validation.Validateable
class TaskCreateCommand {
Date startDate
public void setStartDate(String dateStr){
this.start = Date.parse('MM/dd/yyyy', dateStr)
}
}
Dies keine Laufzeitprobleme nicht geben, aber es ist nutzlos, weil ich nicht das tatsächliche Date-Objekt herausziehen kann.
@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()
}
}
War die Antwort hilfreich? – dmahapatro