日付(文字列として)が送信されています。私はこれをコマンドオブジェクトにマップしたいと思います。私はかなり見渡して、コマンドオブジェクト内でこのマッピングをどのようにして実際の日付にするかに関する大きなリソースは見つかりませんでした。Grailsのコマンドオブジェクトへの日付のバインド
コントローラでこれを行う場合、私は次のことを行うことができますが、これでコマンドオブジェクトに簡単にマッピングすることはできません。
def endDate = params.date('endDate', 'MM/dd/yyyy')
私のコマンドオブジェクトは、取得できる最も近いものは、日付オブジェクトのゲッターとセッターをオーバーライドすることです。どちらもオーバーライドする必要があります。そうでなければ、セッターは使用されません。これは私が最初に試みたものです(Stringを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