【问题标题】:Date params form issue日期参数表单问题
【发布时间】:2010-11-06 03:07:13
【问题描述】:

我在使用标签时遇到了一些问题,然后使用发送的参数从模型更新我的 Date 属性。

这是我的标签:

    <g:datePicker name="data" value="${controle.data}" precision="month" 
        years="${(Calendar.getInstance().get(Calendar.YEAR)-70)..Calendar.getInstance().get(Calendar.YEAR)}"/>

当我打印“params.data”时,它显示“struct”,但我不能简单地这样做:

model.data = params.data

params 带有 params.data_month 和 params.data_year,其各自的值在 String 中,如:

[[data:struct], [data_month:1], [data_year:2009]]

我当时尝试这样做:

model.data = new SimpleDateFormat("MM/yyyy").parse("${params.data_month}/${params.data_year}")

但它拒绝该值,警告:“无法将类型 [java.lang.String] 的值转换为属性'data'所需的类型 [java.util.Date]”

println model.data
println new SimpleDateFormat("MM/yyyy").parse("${params.data_month}/${params.data_year}")

--shows

2006-01-01 00:00:00.0
Sun Jan 01 00:00:00 BRST 2006

【问题讨论】:

    标签: grails date groovy


    【解决方案1】:

    但我不能简单地这样做:model.data = 参数.data

    为什么不呢?您是否遇到了异常,或者您只是被过时的文档误导了? -
    这是一个功能since Grails 1.2。将自动转换为Date 类型。

    至于SimpleDateFormat的问题,加个day就好了,像这样:

    model.data = new SimpleDateFormat("d/MM/yyyy").parse(
        "1/${params.data_month}/${params.data_year}")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-07
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多