首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从ValueStack中删除操作?

如何从ValueStack中删除操作?
EN

Stack Overflow用户
提问于 2016-03-04 17:17:13
回答 1查看 134关注 0票数 0

我想让我的动作课单身。重点是在MVC模式中使动作类成为真正的控制器。特别是在实现REST控制器时,控制器的范围可以扩展到应用程序的生命周期。与Spring框架中的情况一样,默认情况下控制器被放置到默认范围,Spring中的默认作用域是单例。

Struts 2也有默认的作用域,而且它也是单例的。我希望将我的操作类放到这个作用域中,并将它们从值堆栈中删除。

我如何修改Struts 2框架,使我的操作像Spring中的控制器?我知道我可以将操作类的管理委托给Spring,但是我不能使用默认范围,Struts 2容器仍然在运行。我不能将它从框架中删除,因为它是不可插拔的。

因此,在Spring和Struts2容器中行走时,我无法使操作类单独出现,因为Struts 2实例化并将它们放到ValueStack中。

这是我的问题:

如果我选择Struts 2和Spring之间的容器将操作类设置为默认范围,我如何告诉Struts 2框架不要将它们放到ValueStack

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-07 18:08:31

假设您使用的是XWork的DefaultActionInvocation实现,它是在那里通过init方法完成的。这有点痛苦,因为它是在XWork和S2中的动作代理和动作代理工厂下面分层的。

尽管如此,我在做出这样的更改时会非常犹豫不决;它具有系统范围的含义,基本上与XW/WW/S2的所有内容背道而驰。

(不相关,但单例性质不是定义控制器的内容,而是定义组件的责任。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35802110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档