Groovy   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Grails如何为Singleton控制器提供`params`? (Grails内部)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我通过以下方式将Grails控制器设为单例:

static scope = "singleton"

… Grails如何将params变量暴露给我的控制器的动作,其中params是特定于请求的?

我会理解params是否作为变量传递给我的动作方法,但是这里params只是可用的并且是范围内的(并且对于同时请求是不同的,尽管事实上我的控制器只有一个实例).

这是如何在引擎盖下实施的?

解决方法

每个请求都有自己的线程,因此请求,响应,参数,会话等可用,无论控制器是单例还是为每个请求创建新的.如果这些变量是类中的字段会有所不同,但它们不是.

在引擎盖下,这是通过AST转换实现的,该转换将org.codehaus.groovy.grails.plugins.web.api.ControllersApi混合到控制器类中,这会添加getParams()等方法(可以将其用作params属性) ).这些调用requestContextHolder.currentrequestAttributes()来获取线程本地信息.

大佬总结

以上是大佬教程为你收集整理的Grails如何为Singleton控制器提供`params`? (Grails内部)全部内容,希望文章能够帮你解决Grails如何为Singleton控制器提供`params`? (Grails内部)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。