我是Struts2的新手。
我在Struts文档中找不到有关bean范围的任何信息,Struts默认使用Request范围,这不适合我的项目。
我在Struts1中发现了很多关于范围使用的信息,但是所有文档链接都不可用。
您能否建议如何设置Action Classes的范围?
答案 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原型。