Struts 2.3:更改Action Bean的范围

时间:2016-12-16 12:52:09

标签: java configuration struts2 migration struts

我是Struts2的新手。

我在Struts文档中找不到有关bean范围的任何信息,Struts默认使用Request范围,这不适合我的项目。

我在Struts1中发现了很多关于范围使用的信息,但是所有文档链接都不可用。

您能否建议如何设置Action Classes的范围?

1 个答案:

答案 0 :(得分:1)

Struts它是一个前端 MVC框架。

Struts2 Actions是控制器(MVC的C),不应该用作bean;他们应该将bean从底层业务层带到View(MVC的V,例如JSP)。

你不应该有50个属性的动作,你应该有一个带有几个POJO属性的动作,里面有50个属性。

在Struts2后面,你可以在业务层上运行任何东西,例如Java EE(EJB 3,JPA 2,CDI等),包括它的所有bean和范围,或Spring,或其他任何东西。

Struts2动作是线程安全的,按请求实例化,这就是它的研究工作方式。不要试图改变动作的范围以将它们用作bean,尝试了解哪些动作以及它们应该如何使用。

旁注:如果您可以自由选择,我建议使用Struts2 + Java EE> = 6 + Struts2-CDI-plugin + Struts2-Convention-plugin + Struts2-Json-plugin,与Maven一起运行并从Maven原型。