0

我计划创建一个 Handler 拦截器,它将在调用控制器之前触发(或者我将执行此操作前触发)。

然后,我将检查用户的 cookie,并根据 cookie 中的 sessionid 加载用户对象。

然后我会将用户对象添加到请求属性中。

现在,如果我想在控制器操作中检索用户对象,是否将其转换为 (User) ?

我相信我的 freemarker 模板可以做到 ${user.name} 正确吗?还是 user.getUsername ?

4

1 回答 1

2

首先,您最好将用户放在会话中,这样cookie > 用户转换不会在每个请求上发生。

其次,您可以通过调用从那里(会话/请求)获取它

User user = (User) session.getAttribute(USER_KEY); // this is s String constant

或者,您可以创建一个 class UserHolder,在其中传递 anHttpSession并为您提供用户,从而避免控制器 cote 中的演员表。

相同的方法可以用于HttpServletRequest.

于 2010-07-20T07:16:03.893 回答