因为项目的需要,希望将某些action的scope设为session,在struts1中action有scope这个属性,可是struts2的dtd里action没有这个属性了。。。望前辈们指教。。。。。
系统没有集成spring
struts的配置文件中可以设置action对象的声明周期,但是struts2是不行的。
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