の読み込みg:datepicker"を持つ価値にGrailsを使用せずに、"新しいオブジェクト(params)"法
-
22-08-2019 - |
質問
ということかしていdatepicker"を持つという"foobar":
<g:datePicker name="foobar" value="${new Date()}" precision="day" />
どう読んだ提出された値はこの日付ピッカー?
片る作品があり副作用は次の通りです:
def newObject = new SomeClassName(params)
println "value=" + newObject.foobar
ここを読んで、すべての分野にnewObjectを何とかして欲しいところに避けなければなりません。私に最も人気のあるものを示値を"foobar"フィールドに表示されます。
のとだと思っていたと仮定することが不可欠であるとした:
def newObject = new SomeClassName()
newObject.foobar = params["foobar"]
もGrailsいないであろうということ自動的に翻訳のfoobarの分野の日付()オブジェクトです。
更新: さらに詳しい情報は見つかりに Grails JIRA.
解決 2
の読み込みg:datepicker"を持つ値が楽になGrails1.2参照 リリースノート):
よりよい日程の解析
を提出する場合は、日付から タグ 取得の日のオブジェクトがどの 単純な見エクスペディアのキャンセルの paramsオブジェクトの名前(例.params.foo )
他のヒント
コマンドオブジェクトのイディオムを使用してください。あなたの例の場合、私はあなたのフォームがアクションhandleDate
を呼び出すと仮定します。コントローラ内部ます:
def handleDate = { FoobarDateCommand dateCommand ->
def theNextDay = dateCommand.foobar + 1
}
ここでFoobarDateCommand
です。あなたがビューと同じフィールドに名前を付ける方法に注目してください:
class FoobarDateCommand {
Date foobar
}
Commandオブジェクトは素晴らしく、小さなあなたのコントローラを保ち、あなたの形態の各々のためのすべての検証タスクをカプセル化するための便利な方法です。
場合は、paramという方の"構造体"この意味がありparamsを表すのに値する。お場合があり:
- params["foobar_year"収納期
- params["foobar_month"]に格納月
- params["foobar_day"]保存日
で取得し、好きなことを突き詰めれば:)
あなたはまだフォーマットを知る必要がありますけれども、
def newObject = new SomeClassName()
newObject.foobar = Date.parse('yyyy-MM-dd', params.foobar)