请教下,能不能绕过action,不传参,直接在service中获得session中的用户信息??
我的做法是:每次用户登录后,就将用户缓存到ThreadLocal里,用户登出就清ThreadLocal;但是失败了,每次用户登录后,第一次点击菜单就报错!之后再点击就正常了!
不得已,用了比较土的办法先凑合着:action里传用户给service
请教下,能不能绕过action,不传参,直接在service中获得session中的用户信息??
我的做法是:每次用户登录后,就将用户缓存到ThreadLocal里,用户登出就清ThreadLocal;但是失败了,每次用户登录后,第一次点击菜单就报错!之后再点击就正常了!
不得已,用了比较土的办法先凑合着:action里传用户给service
二楼说得对。
登录信息一般还是只能放session,或者用其他方式全局缓存在session中存一个id。
用ThreadLocal存登录信息的实践,通常是在filter中从session取得,通过ThreadLocal缓存,后继各层再通过ThreadLocal取。