今天在一个后台管理的项目中,遇到了一个诡异的问题,我在做日志管理 > 添加日志 的时候,需要从session中获取用户名,添加到数据库,记录是哪个用户进行了相关的操作。
验证的时候所有需要添加日志的按钮都通过了验证,唯独修改密码功能就是不能成功添加日志,报session的空指针错误,
我获取session的方法是:
HttpSession session = ServletActionContext.getRequest().getSession();
session.getAttribute(SysParam.TANSUO_MOBILE_SYS);
或者:
Map session = ActionContext.getContext().getSession();
session.get(SysParam.TANSUO_MOBILE_SYS);
后来一想,修改密码用的是dwr,并没有走action,所以是不是不能通过正常的方法获取session?
查了查资料,将获取session的代码改为:
WebContext ctx = WebContextFactory.get();
session.getAttribute(SysParam.TANSUO_MOBILE_SYS);
成功获取session!
相关资料:
http://xsen.iteye.com/blog/62947