struts2中 关于action类的属性两次调用是否一致

点击“查看单个问题”调用ques这个action再根据struts.xml得知是执行com.action.QuesAction这个类下面的find方法而QuesActio... 点击“查看单个问题”

调用 ques这个action 再根据struts.xml得知是执行com.action.QuesAction这个类下面的find方法 而QuesAction类中有一个属性 就是对应前台传过来的ID号
同时QuesAction类还有一个属性 就是question,find方法的作用就是根据前台传过来的这个ID号来,得到一个question然后再通过setQuestion的形式 把question附上去 供下一个jsp页面使用
这时 页面跳转到显示页面 之前附上去的question 在页面上全部显示了出来,而这个显示页面有一处为“回答”,“回答”这个submit 提交的表单也是提交到ques这个action上去了,只不过 方法为com.action.QuesAction类的answer方法
我想问 这个时候 我要是直接输出question 就是com.action.QuesAction的那个私有属性 是输出空还是输出 之前调用find方法之后附上的值

也就是说 这个question属性 前后是否一致 为什么
展开
 我来答
lmy_sk521
2013-01-15 · TA获得超过2272个赞
知道小有建树答主
回答量:1330
采纳率:73%
帮助的人:709万
展开全部
在QuesAction类中要加入
public 返回类型 getQuestion(){
return question;
}
这样find()方法执行完后返回的页面中就可以显示question的内容了。
但是再从find()方法返回的页提交到action的answer()的时候,需要再给question属性赋值,因为struts2的action是原型模式,也就是每次请求都会创建一个action对象
魔盒水晶
2013-01-15 · TA获得超过371个赞
知道小有建树答主
回答量:957
采纳率:0%
帮助的人:376万
展开全部
struts2中默认情况下的action是多例模式的.这样的话你打印出来属性是空.如果你的action通过spring管理的话.那么spring管理bean默认是单例模式,这样的话你打印出来的值就是你调用过后的赋值.不过在spring中也可以将bean的属性设置成多例模式.这个根据你的实际需要了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不非别S
2013-01-15 · TA获得超过699个赞
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:118万
展开全部
...有点乱.不太清楚你什么意思.把代码贴出来可以不?
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式