读书人

grails 中的session、params哪儿来的

发布时间: 2012-11-05 09:35:12 作者: rapoo

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() }    }
?

读书人网 >网络基础

热点推荐