Struts2的Action里的把一个对象存入session中,请问如何在另一个action中获得对象中的属性值。

例如生成对象的javabean()Userbean(){privateStringusername;privateStringusernumber;get和set方法……... 例如
生成对象的javabean()
Userbean(){
private String username;
private String usernumber;
get和set方法……

}
存入session的action(){
UserBean user = new UserBean();

ActionContext ac = ActionContext.getContext();
ac.getSession().put("user",user);
}
读取session中的aciton(){
在这里怎么取出session中user对象的username值?????

}

求大神知道,万分感谢!!!
展开
 我来答
lengjianxu
推荐于2017-11-25
知道答主
回答量:45
采纳率:0%
帮助的人:20.7万
展开全部
肯定是报空指针异常咯!

生成对象的javabean()
Userbean(){
private String username;
private String usernumber;
get和set方法……

}
存入session的action(){
UserBean user = new UserBean();
//************************************************************************************************
/*-----上面那行里new出的对象是空的!也没看到你为对象赋username值,然后把直接new出来的
空对象保存在session中,肯定取不到值啊! */
//************************************************************************************************

ActionContext ac = ActionContext.getContext();
ac.getSession().put("user",user);
}
读取session中的aciton(){
在这里怎么取出session中user对象的username值?????

}
追问
那我给他值

存入session的action(){
UserBean user = new UserBean();
/************************************************/

user.setUsername("abc");
user.setUsernumber("123");
/************************************************/

ActionContext ac = ActionContext.getContext();
ac.getSession().put("user",user);
}

请问:

在读取session中的aciton(){

怎样读取到user中username的值呢?
}
追答
将Session中的值强转(转型)啊,如
HttpSession session=ServletActionContext.getRequest().getSession();//---得到Session
Userbean user=(Userbean) session.getAttribute("user"); //强转成Userbean对象!
user.getUsername //即可得到
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
963250
2012-11-17 · TA获得超过173个赞
知道小有建树答主
回答量:268
采纳率:100%
帮助的人:141万
展开全部
你好:
ServletActionContext.getRequest().getSession().getAttribute("XXX");
还有其他的方法,可以自己去研究一下;

希望可以帮助到你.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lmy_sk521
2012-11-17 · TA获得超过2272个赞
知道小有建树答主
回答量:1330
采纳率:73%
帮助的人:725万
展开全部
我都是这样获得的,action类实现SessionAware接口,在action中加入
private Map<String,Object> session;
public void setSession(Map<String, Object> session) {
this.session = session;
}
取session中的user对象就可以用Userbean user = (Userbean)session.get("user");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
味洋扛590
2012-11-17 · TA获得超过1647个赞
知道小有建树答主
回答量:1640
采纳率:100%
帮助的人:822万
展开全部
ActionContext ac = ActionContext.getContext();

Map session = ac.getSession();
UserBean user = (UserBean) session.get("user");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式