2016-08-05 50 views
1

在控制器的行動日期參數中使用Grails的操作參數日期結合

def action(Date start, Long id){ 
    .... 
} 

數據在默認情況下沒有作品日期類型的結合。在當前時間初始化調用啓動變量期間,參數值'01/05/2016'。

日期綁定工作,以及與日期開始場域

someDomain.properties = params 
bindData(someDomain, params) 

如何激活它操作的參數?

PS

grails.databinding.dateFormats配置良好

的Grails 2.4.5

更新:

我看到Binding a Grails date from params in a controller,我使用提供溶液ValueConverter自定義綁定,它只適用於域和co mmands binding

+0

您是否嘗試使用命令對象而不是這兩個參數? –

+0

@Michal_Szulc命令對象它應該工作,但它不適合我 – demon101

+0

可能重複[在控制器中綁定Grails日期從參數](http://stackoverflow.com/questions/2871977/binding-a-grails-日期從控制器中的參數) –

回答

1

如果您希望使用在grails.databinding.dateFormats下配置的格式綁定日期,那麼您需要使用命令對象或調用其中一個重載方法params.date('start')

我不知道爲什麼你很不情願使用命令對象。你在評論中說過這個解決方案「不適合」,但我很想知道爲什麼命令對象不適合。

將日期直接綁定到動作參數是一個根本不存在的功能。

+0

'直接綁定日期到動作參數是一個根本不存在的功能。「這很有趣,因爲它在Spring中是可能的。也許在Grails 3.x中可能有些東西? – Gregg

+0

@Gregg是的。它可能在春季MVC。我不希望只爲日期綁定生成虛擬命令對象 – demon101

+0

@ DnalData('start')是每個變量名的消息屬性中的日期格式所必需的。嘗試執行params.date('start')並且會得到異常 – demon101