`
fengzhizi715
  • 浏览: 159763 次
  • 性别: Icon_minigender_1
  • 来自: 上海 苏州
社区版块
存档分类
最新评论

利用grails的flash属性简单实现前台校验功能

阅读更多
   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 Grails Grails

    Grails Grails Grails Grails Grails

    grails实现分页技术

    供初学者使用,在grails中只有list(自动生成)中有分页实现,而自己新增的页面中需自己实现分页,该文档中描述了如何实现分页以及注意点

    Grails 下拉框联动最优实现

    NULL 博文链接:https://zeroblue.iteye.com/blog/1158924

    Grails权威指南 Grails权威指南

    Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南

    全面讲述了关于GRAILS的用法、以及能够实现的强大功能

    不管对于初学者,还是高级编程人员,这个文件都是一个非常好的助手,本人也是在学习的过程中发现的,而且从中学...Grails是一个full-stack框架,它借助于核心技术与相关的插件(plug-in)来解决Web开发中方方面面的问题

    Grails 3开发邮件发送功能

    Grails 3开发邮件发送功能,完整教程!超级实用,手把手教你接入邮件发送

    Grails 教程

    利用内置的Spring 容器实现依赖注入 基于Spring的MessageSource核心概念,提供了对国际化(i18n)的支持 基于Spring事务抽象概念,实现事务服务层 借助于功能强大的Groovy动态语言和领域特定语言(Domain Specific ...

    grails框架

    grails除了核心模块以外的功能几乎都是通过插件方式实现的。实际上,一个grails插件和一个grails应用基本是完全一样的,同样可以使用grails run-app命令来运行。区别仅在于一个插件的根目录下需要提供一个fooplugin....

    Grails权威指南

    第1章 寻找grails之旅  1.1 java的困惑  1.2 webc2.0时代  1.3 java的力量  1.4 什么是grails  1.4.1 与java集成  1.4.2 简单而强大  1.4.3 吸取的经验教训  1.5 使用grails的原因 ...

    使用 Grails 快速开发 Web 应用程序

    Grails入门好资料

    Grails1.1中文文档

    Grails1.1中文文档

    grails

    grails-2.1.zip.001

    grails+Xfire webservice

    grails+Xfire webservice

    Grails入门指南 -- 针对grails1.0.4更新

    Grails入门指南中文pdf -- 针对grails1.0.4更新,附加idea8 开发grails的流程

    Eclipse下搭建Grails项目

    Grails项目的应用越来越多,而对于初学者来说,在Eclipse下搭建Grails项目是一个难题,这个文档将教会你如何搭建Grails项目,希望对你有所帮助。

    grails 1.0.4

    Grails专为下一代JavaWeb应用程序而设计的框架,其借助于Groovy动态语言,使Web开发变得简单而方便。Grails尽量为更多现有的Java项目创建一个全面的框架(不仅局限于视图处理),这和当前一些Java框架提供给用户的一...

    Grails中文参考手册

    Grails 中文 参考手册

    GRails 中文帮助文档(参考手册)和安装开发介绍帮助

    利用内置的Spring 容器实现依赖注入 基于Spring的MessageSource核心概念,提供了对国际化(i18n)的支持 基于Spring事务抽象概念,实现事务服务层 借助于功能强大的Groovy动态语言和领域特定语言(Domain ...

    grails3.2.8-01

    grails3.2.8 part1

    grails-2.3.6.zip

    grails-2.3.6

Global site tag (gtag.js) - Google Analytics