Struts2中 一个Action中的方法能共用类属性(全局变量)吗?

publicclassDataProcessActionextendsBaseAction{privateinttest=1;publicStringa()throws{... public class DataProcessAction extends BaseAction{
private int test = 1;
public String a() throws {//页面先请求方法a
System.out.println(test); //1
...
}
public String b() throws {//页面后请求方法b
System.out.println(test); //1 这里为什么还是1?
...
}

有什么解决方法呢? 存到session里面吗?
展开
 我来答
yangyiko1
推荐于2016-10-21 · 超过36用户采纳过TA的回答
知道答主
回答量:134
采纳率:0%
帮助的人:78.3万
展开全部
如果你用了spring的话,就把applicationcontext.xml里的该action的是scope从pototype=改为sinageton
意思是服务器只创建一个该action的实例,那么 这个test成员属性就是公用的了.
百度网友b2097e4a
推荐于2018-04-24 · 超过33用户采纳过TA的回答
知道答主
回答量:176
采纳率:0%
帮助的人:53.7万
展开全部
a,b请求每次都是单独调度这个类的,最好放在session里,a给set,执行到b,又get出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ajaxroma
2013-08-01 · TA获得超过386个赞
知道小有建树答主
回答量:530
采纳率:0%
帮助的人:369万
展开全部
雷属性是可以共享等的,但是你需要注意同步问题,如果控制的不恰当可能造成一些难以预料的错误。
追问
请问我代码是哪里出了问题了?
同步能具体说说吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
官子看O
2013-08-01 · TA获得超过3039个赞
知道小有建树答主
回答量:1024
采纳率:42%
帮助的人:243万
展开全部
1楼扯淡。表示可以。你一次发一个请求。只进一个action,类属性可以公用
追问
我代码是哪里有问题呢?
为什么请求b方法的时候test的值又变为1了呢?
追答
重定向。值被带过来了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柒1989
2013-08-01 · TA获得超过236个赞
知道小有建树答主
回答量:428
采纳率:100%
帮助的人:398万
展开全部
wrey uuto;io'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式