`

grails 中的session、params哪里来的

 
阅读更多

查看 org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils,其中有一个方法,看完就明白了

 

/**
     * This creates the difference dynamic methods and properties on the controllers. Most methods
     * are implemented by looking up the current request from the RequestContextHolder (RCH)
     */
    static registerCommonWebProperties(MetaClass mc, GrailsApplication application) {
        def paramsObject =         { -> RCH.currentRequestAttributes().params }
        def flashObject =          { -> RCH.currentRequestAttributes().flashScope }
        def sessionObject =        { -> RCH.currentRequestAttributes().session }
        def requestObject =        { -> RCH.currentRequestAttributes().currentRequest }
        def responseObject =       { -> RCH.currentRequestAttributes().currentResponse }
        def servletContextObject = { -> RCH.currentRequestAttributes().servletContext }
        def grailsAttrsObject =    { -> RCH.currentRequestAttributes().attributes }

        // the params object
        mc.getParams = paramsObject
        // the flash object
        mc.getFlash = flashObject
        // the session object
        mc.getSession = sessionObject
        // the request object
        mc.getRequest = requestObject
        // the servlet context
        mc.getServletContext = servletContextObject
        // the response object
        mc.getResponse = responseObject
        // The GrailsApplicationAttributes object
        mc.getGrailsAttributes = grailsAttrsObject
        // The GrailsApplication object
        mc.getGrailsApplication = { -> RCH.currentRequestAttributes().attributes.grailsApplication }

        mc.getActionName =     { -> RCH.currentRequestAttributes().actionName }
        mc.getControllerName = { -> RCH.currentRequestAttributes().controllerName }
        mc.getWebRequest =     { -> RCH.currentRequestAttributes() }
    }
 
分享到:
评论

相关推荐

    Grails中文参考手册

    Views 是 Grails 应用程序中的用户界面部分,通常使用 Groovy Server Pages (GSP) 文件编写。GSP 结合了 HTML、CSS 和 JavaScript 以及 Groovy 语法,允许动态生成页面内容。 **Services** Services 是可重用的...

    grails中文参考手册

    总之,《Grails中文参考手册》覆盖了从安装、创建应用到部署和配置的全过程,对于希望掌握Grails框架的开发者来说,是一份不可或缺的学习资源。通过深入学习和实践,你将能够充分利用Grails的强大功能,快速构建出高...

    Grails 中文参考手册

    《Grails 中文参考手册》是一本全面介绍Grails框架的指南,旨在帮助开发者快速...这本书为Grails开发者提供了一个全面的参考,无论你是初学者还是有经验的开发者,都能从中找到宝贵的信息来提升你的Grails开发技能。

    grails中文入门简介

    开发者可以很方便地在Grails项目中集成这些插件来增强应用程序的能力。 Grails框架的中文入门资料较为稀缺,因而这份文档显得尤其宝贵。文档涵盖了从安装、配置、Web开发、服务层、测试、国际化、安全到插件使用等...

    grails login

    在Grails中实现用户登录功能是构建任何Web应用的基础,它确保了数据的安全性和用户权限的管理。本示例将详细解释如何在Grails中创建一个用户登录系统,特别是对于管理员用户的特定权限控制。 **1. 配置环境** 首先...

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

    1. 学习入口:对于中文开发者来说,中文文档降低了学习Grails的门槛,帮助理解和掌握Grails的基本概念、框架结构、开发工具以及最佳实践。 2. 快速上手:文档通常包含安装指南、教程、API参考等,为开发者提供从零...

    Grails1.1中文文档(CHM)

    Grails1.1最新 中文 文档 当今的Java Web开发技术显得过于复杂,相对于它本身的需要来说。现在主流的Java Web框架也是异常复杂,而且没有很好的遵循 Don't Repeat Yourself (DRY) 法则。 因此我们要以一种新的思维...

    Grails1.1中文文档

    Grails是个一栈式开发框架,它尝试通过核心技术和插件技术来解决许多Web开发难题。Grails包含了如下内容: 由 Hibernate 构成的易于使用的 Object Relational Mapping (ORM)层 称为 Groovy Server Pages (GSP) 的...

    grails中文API

    通过定义Groovy类并使用Grails的GORM(Grails Object Relational Mapping)来与数据库交互,可以轻松实现数据持久化。 4. **控制器(Controllers)** 控制器负责处理HTTP请求,调用业务逻辑并生成响应。Grails的...

    grails 中文第二版

    - 通过更改`BuildConfig.groovy`文件中的`targetContainer`参数来指定目标容器。 **生成应用** - 使用`grails generate-app`命令生成应用的基本结构。 **创建工件** - 使用`grails create-*`系列命令创建各种类型...

    Grails Grails Grails

    总结来说,Grails 是一个强大的Web开发框架,借助Groovy的灵活性和Java生态的稳定性,为开发者提供了高效的开发环境。无论是初学者还是经验丰富的开发者,都能从Grails的简洁设计和强大功能中受益。通过深入学习...

    grails中的上传,下载

    1. **创建上传类**:在Grails项目中,首先需要创建一个工具类,例如`UpLoad.java`,来处理文件的上传逻辑。这个类中定义了`upLoad`方法,接收`MultipartHttpServletRequest`和`CommonsMultipartFile`类型的参数。 2...

    Eclipse下搭建Grails项目

    在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. **Grails环境安装** - 首先,你需要从Grails官网(http://grails.org/)下载最新版的Grails安装包。 - 安装完成后,确保...

    grails实现分页技术

    在Grails这个基于Groovy的敏捷开发框架中,实现分页功能对于任何Web应用程序都是至关重要的,特别是当处理大量数据时。Grails提供了一些内置的支持,但如果你需要在自定义的控制器和视图中实现分页,那么就需要遵循...

    Grails 1.1 中文手册 chm

    Grails 最新的 v1.1版的中文文档,chm格式,Grails是一套快速开发Web应用的开源框架,基于Groovy编程语言,并构建于Spring、Hibernate和其它标准Java框架之上,能为大家带来超高效率的一站式框架。

    Grails入门精通及中文API

    - **Grails命令行工具**: 提供了一系列命令来快速创建项目、生成控制器、领域类等,便于开发和调试。 **3. 中文API文档的重要性** 对于中文开发者来说,Grails的中文API文档是学习和使用框架的关键资源。它详细...

    grails中文文档

    这些文档可以帮助你深入了解 Grails 的各项特性和使用方法,特别是对于初学者来说,是一份宝贵的参考资料。通过阅读文档,你可以逐步掌握 Grails 开发技能,从而高效地构建出高质量的 Web 应用。

    Grails 的过滤器(Grails Filters)

    总结来说,Grails 过滤器是 Grails 框架中一种强大的工具,它们提供了一种优雅的方式来处理应用程序的共性问题,减少了重复代码,并增强了代码的复用性。理解和熟练使用过滤器对于提升 Grails 开发效率至关重要。

Global site tag (gtag.js) - Google Analytics