#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是一个基于Groovy语言的全栈框架,它遵循约定优于配置的原则,并且紧密集成Spring和Hibernate等流行的Java库,简化了开发流程。Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式...
GORM 是 Grails 的内置 ORM 框架,它允许开发者使用 Domain Class 来定义数据模型,并自动提供数据库操作。GORM 支持 Hibernate 和 ActiveJDBC,使得数据库操作更加简单。 **Controllers** Controllers 在 Grails ...
Grails兼容广泛的Java应用服务器,包括但不限于Apache Tomcat、Jetty、Resin等,这使得Grails应用能在不同的环境中无缝运行。 8. **创建工件** Grails提供了多种命令用于生成模型类、控制器、服务等工件,如`...
**Grails框架数据查询** Grails是一个基于Java平台的开源Web应用框架,它采用Groovy语言,提供了MVC(Model-View-Controller)架构模式,旨在简化开发过程,提高开发效率。在Grails中,数据查询是核心功能之一,...
### Grails框架中文第二版知识点概述 #### 一、简介 **Grails 2.0新特性** 1. **面向开发的特性** - 改进了开发者体验,例如通过简化配置来提高开发效率。 - 引入了新的工具和功能,如Groovy模板引擎Thymeleaf...
Grails框架是MVC(Model-View-Controller)结构的实现,它包含以下几个核心组件: - **Model**: 代表应用程序的数据模型,通常由领域类(Domain Classes)来表示,这些类是Groovy对象,具有ORM(对象关系映射)功能...
**Grails 框架详解** Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式...
在"第一个grails程序"中,我们通常会看到一个典型的Grails项目结构,包括以下几个关键部分: 1. **src/main/groovy**:这个目录存放所有Groovy源代码,包括应用程序的主要业务逻辑和控制器。 2. **src/main/...
《Grails 1.1 中文文档》是一个非常宝贵的资源,尤其对于国内的开发者来说,由于Grails在中文社区中的资料相对较少,这份文档的价值不言而喻。Grails是一个基于Groovy语言的开源Web应用框架,它借鉴了Ruby on Rails...
在Grails中,领域模型是应用程序的核心,它代表了业务数据和逻辑。通过定义Groovy类并使用Grails的GORM(Grails Object Relational Mapping)来与数据库交互,可以轻松实现数据持久化。 4. **控制器(Controllers...
2. MVC架构:Grails遵循Model-View-Controller(MVC)设计模式,通过GORM(Grails Object Relational Mapping)进行数据访问,使用GSP(Groovy Server Pages)作为视图模板,Controller负责业务逻辑处理。...
配置管理是任何应用程序开发过程中的重要环节,Grails提供了灵活且强大的配置机制。 - **数据源**:介绍如何配置数据源,包括设置不同的环境(如开发、测试和生产环境)的数据源参数。 - **JNDI数据源**:如果应用...
学习 Grails 需要掌握以下几个关键点: 1. **环境配置**:首先,你需要安装 JDK 和 Groovy,然后设置好环境变量。接着,下载并安装 Grails SDK,配置好 IDE(如 IntelliJ IDEA 或者 Eclipse)的插件。 2. **基础...
《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...
Grails 是一个基于Groovy语言的开源Web应用框架,它构建在Spring Boot之上,提供了丰富的功能和便捷的开发体验。Ajax(Asynchronous JavaScript and XML)技术则是Web开发中用于实现页面无刷新、局部更新的一种重要...
《Grails 中文参考手册》是一本全面介绍Grails框架的指南,旨在帮助开发者快速上手并深入理解Grails的各个核心概念和技术。Grails是一个基于Groovy语言的开源Web应用框架,它提供了高效的开发环境和强大的功能,使得...
在Web应用开发中,Grails是一个基于Groovy语言的开源框架,而Google Web Toolkit (GWT)则是一个用于构建和优化复杂JavaScript前端应用的开发工具。将这两者结合,可以让开发者利用Grails的强大后端功能和GWT的高效...
以下是对Grails中上传和下载操作的深入解析,包括其实现机制、代码示例及注意事项。 ### 文件上传 #### 上传原理 在Grails中,文件上传主要依赖于Spring框架提供的`MultipartHttpServletRequest`接口,该接口用于...