当我尝试使用grails datepicker时,当我尝试页面时,发送到 Controller 的值是默认值,而不是我在datepicker字段中选择的实际日期值。
我在简单的index.gsp页面中使用grails datepicker:<g:form action="show"> game ID: <g:textField name="gameId" value=""/><br/> switch date: <g:datePicker name="switchDate" value="${new Date()}"/><br/> <g:submitButton name="submit" value="submit"/></g:form>
我同样简单的显示 Controller :def show(long gameId, Date switchDate) { println("gameId:$gameId switchDate:$switchDate")}
我猜我缺少明显的东西。先感谢您。
最佳答案
我认为这与Date
未正确绑定(bind)有关。如果通过params.switchDate
访问它或将参数更改为String
类型:
def show(long gameId, String switchDate) {
然后就可以了。
或者,您可以按照this question的步骤为Date设置适当的数据绑定(bind),即通过设置:
grails.databinding.dateFormats = ['MMddyyyy HH:mm:ss']
在您的
Config.groovy
中。