`
Jcat
  • 浏览: 49591 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

收集几个Grails中自动数据绑定的容错机制,但总觉得蛮bug的。。。

阅读更多
#1
--action里--  
  println(params.payAmount)
  Expense e = new Expense(params)
  println(e.payAmount)

--页面输入 10o (最后一位是字母option的开头)--
奇迹发生了,sout输出结果是
  10o
  10
最终导致存入数据库10

也不知道这个算是自动数据绑定的BUG还是容错机制。。。感觉好危险。。。


#2
背景
it.payDate是excel插件读取excel的日期,类型为org.joda.time.LocalDate

问题场景:在save前后验证
println(e.validate())
e.save()
println(e.validate())

--都是true
Expense e = new Expense()
e.payDate = new Date()

--都是true
Expense e = new Expense()
LocalDate localDate = it.payDate
e.payDate = localDate.toDate()

--奇怪:save前是false,竟然save成功了,save后又变成true
Expense e = new Expense(it)
LocalDate localDate = it.payDate
e.payDate = localDate.toDate()

更可怕的发生了,重启以后,第一次save,还是不成功,换用前面两种方式再换回来,就能成功。。。

终极解决办法,还是先处理在bindData
LocalDate localDate = it.payDate
it.payDate = localDate.toDate()
Expense e = new Expense(it)
分享到:
评论

相关推荐

    grails中文入门简介

    Grails是一个基于Groovy语言的全栈框架,它遵循约定优于配置的原则,并且紧密集成Spring和Hibernate等流行的Java库,简化了开发流程。Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式...

    Grails中文参考手册

    GORM 是 Grails 的内置 ORM 框架,它允许开发者使用 Domain Class 来定义数据模型,并自动提供数据库操作。GORM 支持 Hibernate 和 ActiveJDBC,使得数据库操作更加简单。 **Controllers** Controllers 在 Grails ...

    grails框架数据查询

    **Grails框架数据查询** Grails是一个基于Java平台的开源Web应用框架,它采用Groovy语言,提供了MVC(Model-View-Controller)架构模式,旨在简化开发过程,提高开发效率。在Grails中,数据查询是核心功能之一,...

    grails 中文第二版

    ### Grails框架中文第二版知识点概述 #### 一、简介 **Grails 2.0新特性** 1. **面向开发的特性** - 改进了开发者体验,例如通过简化配置来提高开发效率。 - 引入了新的工具和功能,如Groovy模板引擎Thymeleaf...

    Grails入门精通及中文API

    Grails框架是MVC(Model-View-Controller)结构的实现,它包含以下几个核心组件: - **Model**: 代表应用程序的数据模型,通常由领域类(Domain Classes)来表示,这些类是Groovy对象,具有ORM(对象关系映射)功能...

    Grails Grails Grails

    **Grails 框架详解** Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式...

    第一个grails程序

    在"第一个grails程序"中,我们通常会看到一个典型的Grails项目结构,包括以下几个关键部分: 1. **src/main/groovy**:这个目录存放所有Groovy源代码,包括应用程序的主要业务逻辑和控制器。 2. **src/main/...

    Grails1.1中文文档

    《Grails 1.1 中文文档》是一个非常宝贵的资源,尤其对于国内的开发者来说,由于Grails在中文社区中的资料相对较少,这份文档的价值不言而喻。Grails是一个基于Groovy语言的开源Web应用框架,它借鉴了Ruby on Rails...

    grails中文API

    在Grails中,领域模型是应用程序的核心,它代表了业务数据和逻辑。通过定义Groovy类并使用Grails的GORM(Grails Object Relational Mapping)来与数据库交互,可以轻松实现数据持久化。 4. **控制器(Controllers...

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    2. MVC架构:Grails遵循Model-View-Controller(MVC)设计模式,通过GORM(Grails Object Relational Mapping)进行数据访问,使用GSP(Groovy Server Pages)作为视图模板,Controller负责业务逻辑处理。...

    grails中文文档

    学习 Grails 需要掌握以下几个关键点: 1. **环境配置**:首先,你需要安装 JDK 和 Groovy,然后设置好环境变量。接着,下载并安装 Grails SDK,配置好 IDE(如 IntelliJ IDEA 或者 Eclipse)的插件。 2. **基础...

    Grails权威指南 Grails权威指南

    《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...

    grails ajax

    Grails 是一个基于Groovy语言的开源Web应用框架,它构建在Spring Boot之上,提供了丰富的功能和便捷的开发体验。Ajax(Asynchronous JavaScript and XML)技术则是Web开发中用于实现页面无刷新、局部更新的一种重要...

    Grails 中文参考手册

    《Grails 中文参考手册》是一本全面介绍Grails框架的指南,旨在帮助开发者快速上手并深入理解Grails的各个核心概念和技术。Grails是一个基于Groovy语言的开源Web应用框架,它提供了高效的开发环境和强大的功能,使得...

    Grails中集成GWT中文资料

    在Web应用开发中,Grails是一个基于Groovy语言的开源框架,而Google Web Toolkit (GWT)则是一个用于构建和优化复杂JavaScript前端应用的开发工具。将这两者结合,可以让开发者利用Grails的强大后端功能和GWT的高效...

    grails中的上传,下载

    以下是对Grails中上传和下载操作的深入解析,包括其实现机制、代码示例及注意事项。 ### 文件上传 #### 上传原理 在Grails中,文件上传主要依赖于Spring框架提供的`MultipartHttpServletRequest`接口,该接口用于...

Global site tag (gtag.js) - Google Analytics