struts2中怎样设置action的scope?

因为项目的需要,希望将某些action的scope设为session,在struts1中action有scope这个属性,可是struts2的dtd里action没有这个属性了。。。望前辈们指教。。。。。
系统没有集成spring

struts的配置文件中可以设置action对象的声明周期,但是struts2是不行的。

struts2是从webwork发展而来的,xwork有一个objectfacotry类,这个工厂类有一个线程池thSelf

private static ThreadLocal thSelf
action对象就是由这个线程池来维护的,所以如果你想知道它的生命周期是如何,可以查看这个类(com.opensymphony.xwork2.ObjectFactory)源代码。

通常和spring整合使用的时候,在struts.xml文件要配置一个元素

或者在struts.property文件中配置
struts.objectFactory = spring

这样,我们可以在spring的配置文件中的bean元素里用一个scope属性来配置action是用什么生命周期,singleton,prototype,request,session等等

看下面地址的资料是不是你要的?

http://www.crabone.com/index.php/2008/01/29/67.html

不用设置,struts2的scope默认就是SESSION

不过,我还是提个建议给你,最好不要用session作为scope,在某种情况下,你会把脑袋抓破的。用prototype作为scope