Java action 里为什么设置了session 值后,到其他页面值还是null ?
代码如下:public class LoginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginActionForm laf = (LoginActionForm) form;
String userid = laf.getUserid();
String password = laf.getPassword();
HttpSession session = request.getSession();
session.setMaxInactiveInterval(1200); //session 保持 20分钟
if (LoginActionBean.login(userid, password)) {
UserInfo userinfo = new UserInfo();
session.setAttribute("USERID", " 用户id");
session.setAttribute("USERNAME", "用户名称");
return mapping.findForward("success");
} else {
request.setAttribute("msg", "用户或密码错误,请重新登陆!");
return mapping.findForward("error");
}
}
}
登陆后,在主页面 String username = (String)session.getAttribute("USERNAME"); username 值为 null 。
请教各位兄弟,是怎么回事? --------------------编程问答-------------------- 你用的是strus1么? --------------------编程问答-------------------- 是的!用的是Struts1模式 --------------------编程问答-------------------- 自己顶一下 --------------------编程问答-------------------- 是不是超时了,你设置了session的最大时间为20分钟,
还有你调试过没有,确定 session.setAttribute("USERNAME", "用户名称");这条语句执行了? --------------------编程问答-------------------- session 默认时间是 30分钟,肯定执行了,我在action 里可以读出值。 --------------------编程问答-------------------- 解决了,结贴,是我用的地址出问题了。 --------------------编程问答-------------------- 接分 --------------------编程问答-------------------- 嘿嘿,原来如此~~~ --------------------编程问答-------------------- 我也出问题了,求指教
补充:Java , Web 开发