现在碰到一个问题,大家帮忙看看:
我定义了一个UserInfor实体类:
[code="java"]public class UserInfo {
private int uid;
private String name;
private String token;
private String secret;
private String headimg;
private String album;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
…………
就是属性的getter,setter方法
}
[/code]
在action里封装了用户的相关信息,
[code="java"]
UserInfo userInfo = new UserInfo();
userInfo.setUid(tsinaUserId);
userInfo.setName(name);
userInfo.setToken(accessToken);
userInfo.setSecret(accessTokenSecret);
userInfo.setHeadimg(headImg);
session.setAttribute("userInfo", userInfo);
[/code]
在jsp页面js部分,我想获取到session里userInfo的相关信息该怎么弄?
跟这个类似的一个情况我能获取到相关信息:
就是没有封装实体bean,直接放在map里面
[code="java"]Map userMap = new HashMap();
userMap.put("uid", tsinaUserId);
userMap.put("name", name);
userMap.put("headImg", headImg);
session.setAttribute("userMap", userMap);[/code]
这样写的话我在jsp页面,就很容易的获取了用户的相关信息,
[code="java"]var uid2 = '${userMap.uid }';
alert(uid2);[/code]
然后查了hashmap的原码,觉得问题可能是出在hashmap实现了Serializable这个接口,于是也把UserInfo这个实体bean也实例化了,
在jsp页面如下写:
[code="java"]var uid1 = '${userInfo.uid }';
alert(uid1);[/code]
却还是获取不到相关信息,请问各位高手,这是什么原因啊???
el获取session里的对象这样用试试:
${sessionScope.userInfo}
我可以给你点建议,JS获取JavaBean数据可以用JSON,前台JS取值很方法,后台放的时候也很方法,放Bean、List、Map都可以
是取值很方便,不是很方法,打错了
[code="java"]
var uid2 = '${userMap.getUid()}';
alert(uid2);
[/code]这样写可以吗 :o
错了 :(
[code="java"]
var uid1 = '${userInfo.getUid()}';
alert(uid1);
[/code]这样可以吗? :o
话说,楼主用的是struts1.x还是struts2.x?session又是从哪里来的?
${sessionScope}都拿不到就说明是真的没有了……MVC框架里做了什么配置了?……
他也同样也能