flash对象是一个map,用于保存键值对,这些数据会被保存到session中,并在下个请求结束后清除。所以说,flash是session中一个临时保存数据的map,只能传递到下一个请求,请求完毕后数据自动清除。
话不多说,先描述下业务情况:一笔进货数量是N台笔记本的进货单,创建销售单时要判断销售数量是否超出进货单商品的数量。
我的代码如下:
def number = params.number
def amount = params.amount
def importProduct = ImportProduct.findByNumber(number)
def importProductAmount = importProduct.getAmount()
def hql = "select sum(p.amount) from ExportProduct p where p.number='"+number+"'"
def result = ExportProduct.executeQuery(hql)
def resultAmount
if (result == [null])
{
resultAmount = 0
}
else
{
resultAmount = result[0]
}
println resultAmount
def remain = importProductAmount - resultAmount
if (amount.toLong() > remain)
{
flash.message = "对不起,该批货物数量不够,请重新输入!!"
redirect(action:"create", params:[productName:params.productName,inPrice:params.inPrice,outPrice:params.outPrice,modelNo:params.modelNo,number:params.number])
return
}
这段代码是作为校验时候的,当出现amount.toLong() > remain的情况时,使用flash属性,将信息显示到前台的gsp页面,然后要记得使用return!!
例如:进货的该批次笔记本为8台,在创建销售单时一下子是10台
就会显示如下的效果
- 大小: 40 KB
- 大小: 46.5 KB
分享到:
相关推荐
在Grails中,我们可以利用AJAX技术实现这种交互,AJAX即异步JavaScript和XML,它允许页面在不刷新整个页面的情况下与服务器交换数据并局部更新页面内容。这正是实现联动效果的关键,因为它能让用户体验更加流畅,...
通过阅读这份文档,开发者可以深入理解Grails 1.1的核心特性和开发流程,从而更好地利用Grails构建高效、健壮的Web应用。 总结来说,Grails 是一个强大的Web开发框架,借助Groovy的灵活性和Java生态的稳定性,为...
在Grails这个基于Groovy的敏捷开发框架中,实现分页功能对于任何Web应用程序都是至关重要的,特别是当处理大量数据时。Grails提供了一些内置的支持,但如果你需要在自定义的控制器和视图中实现分页,那么就需要遵循...
通过《Grails权威指南》,你可以学习到如何利用Grails的强大功能来开发高效、可扩展的Web应用,同时也了解到如何利用Groovy语言和Grails框架的最佳实践,提升你的开发技能。这本书深入浅出地讲解了Grails的各个方面...
GORM是Grails的持久化框架,它实现了Hibernate和ActiveRecord的功能,使得与数据库的交互变得简单。通过定义领域类,你可以轻松地完成CRUD(创建、读取、更新、删除)操作。 五、Grails插件系统 Grails的插件系统...
在了解了Grails的基本结构后,可以通过创建简单的控制器和领域类来实现基本功能。例如,创建一个用于联系人管理的控制器和领域类,处理CRUD操作。Grails的自动化工具如GORM(Grails Object-Relational Mapping)将...
《Grails 框架深度探索》 Grails 是一个基于 Groovy 语言的开源Web应用框架,它构建于Spring框架之上,旨在提高开发效率,提供简洁、灵活的语法,以及丰富的插件系统。本文档将带你深入理解Grails的核心概念、主要...
用户可以创建可复用的Grails脚本,并利用事件来扩展脚本功能。Grails还支持Ant和Maven,这意味着可以利用这两种构建工具的生态来管理Grails项目。 对象关系映射(GORM)是Grails框架中的一个重要组成部分,它为...
Grails作为一个全栈的、基于Groovy语言的Web应用开发框架,提供了一套较为简便的方式来集成和实现邮件发送功能。Grails 3版本作为该框架的更新迭代产物,同样支持邮件发送服务。 首先,要在Grails 3中开发邮件发送...
通过利用Grails提供的便利工具和库,开发者可以快速实现复杂的Ajax功能,同时保持代码的整洁和可维护性。无论是简单的数据获取还是复杂的业务流程,Grails都能提供强大的支持,让Ajax在Grails应用中发挥出应有的价值...
**Grails 概述** Grails 是一个基于 Groovy 语言的开源 web 应用程序框架,它构建在 Java 平台上,旨在...通过深入学习 "Grails 中文参考手册",开发者可以充分利用 Grails 的各种特性,构建出高质量的 web 应用程序。
通过以上步骤,你可以在Eclipse中舒适地开发Grails项目,利用IDE的强大功能提升开发效率。Grails的MVC架构和自动化特性,结合Eclipse的插件支持,使得整个开发过程更为流畅。无论是新手还是经验丰富的开发者,都能...
Grails 2.4.4 是一个基于Java的开源Web应用框架,它利用Groovy语言的强大特性,为开发者提供了一种高效、灵活的开发环境。这个压缩包“grails-2.4.4.zip”包含了完整的Grails 2.4.4版本,使得开发者可以直接将其集成...
实现分页功能,Grails提供了内置的分页支持,可以在控制器中获取特定范围的数据,然后传递给视图展示。通过调整查询语句的LIMIT和OFFSET参数,可以轻松实现前后翻页。 七、总结 学生管理系统课程设计使用Grails,...
本案例"Grails案例"旨在展示如何利用Grails实现基本的增删查改(Create, Read, Update, Delete,简称CRUD)功能,这对于任何数据库驱动的应用来说都是核心需求。 1. **Grails简介** - Groovy语言:Grails是基于...
在Grails中实现用户登录功能是构建任何Web应用的基础,它确保了数据的安全性和用户权限的管理。本示例将详细解释如何在Grails中创建一个用户登录系统,特别是对于管理员用户的特定权限控制。 **1. 配置环境** 首先...
Grails通过URL映射功能,实现了RESTful风格的URL,使得Web应用的URL更加友好和语义化。这种映射机制不仅提高了用户体验,还简化了路由管理和资源定位。 #### Internationalization(国际化) Grails框架内置了国际...
- **实战技巧**:包括 GORM (Groovy Object Relational Mapping) 的使用、如何在 Grails 中实现 Ajax 功能、处理遗留数据库的方法、利用遗留框架以及如何在 Grails 中使用 WebFlow。 - **高效编程系列**:涵盖使用 ...
Grails的独特之处在于它能够吸收其他流行框架的优点,比如Spring的依赖注入、Hibernate的对象关系映射能力、Quartz的强大调度功能以及SiteMesh的布局管理,而这一切都可以在Grails的简单约定和简洁语法下实现。...