通过 Grails 中 gsp 的参数发送 LocalTime 对象
Send LocalTime object via parameters from gsp in Grails
我在我的 Grails 应用程序中输入了时间字段:
<joda:timePicker name="startTimeReservation" value="${new LocalTime()}" precision="minute" />
我想通过参数将它的值发送到控制器中的动作。这是来自控制器的代码,我在其中捕获了这个值:
oldCafeeInfo.startTimeLimit = params['startTimeReservation']
在发送参数时,出现这样的错误:
Cannot cast object 'struct' with class 'java.lang.String' to class 'org.joda.time.LocalTime'
如何正确发送参数?
请求中所有数据都是字符串,需要解析字符串:
oldCafeeInfo.startTimeLimit = LocalTime.parse(params['startTimeReservation'], format)
格式为 SimpleDateFormat。
或者您可以使用下一个答案,通过绑定自动完成:Binding a Grails date from params in a controller
我找到了自己的选择。我注意到 params['startTimeReservation']
作为字符串 "struct" 进入控制器。此外,在日志中,我注意到,这个结构除以 startTimeReservation_hour
和 startTimeReservation_minutes
。它们包含整数值,很容易解析!然后这些值可以作为参数传输到 new LocalTime(hour, minute)
。所以我们创建了一个新的 LocalTime 实例,它可以被记录到数据库中。不知何故,我怀疑这是一个好的变体,但它确实有效。
我在我的 Grails 应用程序中输入了时间字段:
<joda:timePicker name="startTimeReservation" value="${new LocalTime()}" precision="minute" />
我想通过参数将它的值发送到控制器中的动作。这是来自控制器的代码,我在其中捕获了这个值:
oldCafeeInfo.startTimeLimit = params['startTimeReservation']
在发送参数时,出现这样的错误:
Cannot cast object 'struct' with class 'java.lang.String' to class 'org.joda.time.LocalTime'
如何正确发送参数?
请求中所有数据都是字符串,需要解析字符串:
oldCafeeInfo.startTimeLimit = LocalTime.parse(params['startTimeReservation'], format)
格式为 SimpleDateFormat。
或者您可以使用下一个答案,通过绑定自动完成:Binding a Grails date from params in a controller
我找到了自己的选择。我注意到 params['startTimeReservation']
作为字符串 "struct" 进入控制器。此外,在日志中,我注意到,这个结构除以 startTimeReservation_hour
和 startTimeReservation_minutes
。它们包含整数值,很容易解析!然后这些值可以作为参数传输到 new LocalTime(hour, minute)
。所以我们创建了一个新的 LocalTime 实例,它可以被记录到数据库中。不知何故,我怀疑这是一个好的变体,但它确实有效。