Grails如何为Singleton控制器提供`params`? (Grails内部)
发布时间:2020-12-14 16:25:47 所属栏目:大数据 来源:网络整理
导读:如果我通过以下方式将Grails控制器设为单例: static scope = "singleton" … Grails如何将params变量暴露给我的控制器的动作,其中params是特定于请求的? 我会理解params是否作为变量传递给我的动作方法,但是这里params只是可用的并且是范围内的(并且对于同
如果我通过以下方式将Grails控制器设为单例:
static scope = "singleton" … Grails如何将params变量暴露给我的控制器的动作,其中params是特定于请求的? 我会理解params是否作为变量传递给我的动作方法,但是这里params只是可用的并且是范围内的(并且对于同时请求是不同的,尽管事实上我的控制器只有一个实例). 这是如何在引擎盖下实施的? 解决方法
每个请求都有自己的线程,因此请求,响应,参数,会话等可用,无论控制器是单例还是为每个请求创建新的.如果这些变量是类中的字段会有所不同,但它们不是.
在引擎盖下,这是通过AST转换实现的,该转换将org.codehaus.groovy.grails.plugins.web.api.ControllersApi混合到控制器类中,这会添加getParams()等方法(可以将其用作params属性) ).这些调用RequestContextHolder.currentRequestAttributes()来获取线程本地信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |