grails - 属性必须是有效的日期

标签 grails simpledateformat

我已经使用IncomeDate作为Date并尝试以字符串'2015-08-02'的形式提交。我试图以不同的方式提交它,但出错了。


class IncomeTransaction {
    Date incomeDate
    ------
}

.gsp
<input type="text" name="incomeDate" placeholder="yyyy-mm-dd" />

Controller :
String dateString = params.incomeDate
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date myDate = formatter.parse(dateString);
incomeTransactionInstance.incomeDate = myDate

// get error like ---- Property incomeDate be a valid Date in grails

/*Another way*/
//params.incomeDate = new Date().parse( 'yyyy-MM-dd', params.incomeDate )
// get error like ---- unparsable 

最佳答案

  • 如果您不知道但想自己找到,grails就是一件好事,您始终可以生成 Controller 并通过grails进行查看,看看它是如何完成的。
  • 我用于日期的不是输入类型的文本,而是以下内容:
    <g:datePicker name="incomeDate" precision="day"  value="${incomeTransactionInstance?.incomeDate}" default="none" noSelection="['': '']" />
    

  • 在您的 Controller 中,您不需要任何解析,然后:
    incomeTransactionInstance.properties = params
    

    并保存您的对象

    关于grails - 属性必须是有效的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31809335/

    相关文章:

    Java - 在 Netbeans IDE 中将毫秒转换为 `HH:mm:ss:SSS` 时结果不正确

    java - 时区、日历和 SimpleDateFormat 的奇怪问题

    grails - 如何在Config.groovy中访问grailsApplication配置

    json - Grails-呈现JSON

    tomcat - 如何在 Grails 应用程序中使用从 CXF/SoapUI 生成的类?

    Java simpledateformat.parse 给出的年份不正确

    grails - Grails 环境的 IntelliJ 运行配置

    mysql - Grails:无法在 mysql 上创建表

    java - 为什么 SimpleDateFormat 会忽略区域设置?

    java - 将字符串转换或格式化为日期