加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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()来获取线程本地信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读