[size=x-large]具体问题如下:
请问struts2的action中,保留url中通过get方式传递进去的参数值期限是多久呢?我写了一个action,里面有一个int parentId 属性 第一次访问是showorg.action 此时parentId自动为0,第二次访问为:showorg.action?parentId=2,此时parentId = 2 第三次访问时为:showorg.action 此时parentId的值应该是0啊,怎么还是2呢?
struts2里面Action默认只创建一个实例,这样,当访问showorg.action?parentId = 2之后,再次访问showorg.action并不会创建action的另一个新的实例,因此还是使用以前的那个实例(没有调用setParentId这个方法?)。所以action里面的属性parentId = 2 。这是在Q Q群里面问的时候得到的答案,自己也不知道对不对。以前做过类似的事情,也没有遇到这个问题。不知道是不是Struts2与Spring一起使用后出现的问题。
之后在Spring的bean里面加上了:scope="prototype" 就好使了。
<bean id="orgAction" class="com.struts2.action.OrgAction" scope="prototype">
<property name="orgManager" ref="organizationManager" />
</bean>[/size]
请问struts2的action中,保留url中通过get方式传递进去的参数值期限是多久呢?我写了一个action,里面有一个int parentId 属性 第一次访问是showorg.action 此时parentId自动为0,第二次访问为:showorg.action?parentId=2,此时parentId = 2 第三次访问时为:showorg.action 此时parentId的值应该是0啊,怎么还是2呢?
struts2里面Action默认只创建一个实例,这样,当访问showorg.action?parentId = 2之后,再次访问showorg.action并不会创建action的另一个新的实例,因此还是使用以前的那个实例(没有调用setParentId这个方法?)。所以action里面的属性parentId = 2 。这是在Q Q群里面问的时候得到的答案,自己也不知道对不对。以前做过类似的事情,也没有遇到这个问题。不知道是不是Struts2与Spring一起使用后出现的问题。
之后在Spring的bean里面加上了:scope="prototype" 就好使了。
<bean id="orgAction" class="com.struts2.action.OrgAction" scope="prototype">
<property name="orgManager" ref="organizationManager" />
</bean>[/size]