在所有会话中获取用户名

时间:2013-12-24 10:53:17

标签: spring jsp session spring-mvc

我希望它能做到,这很简单,但结果并不像我想要的那样。

我想在用户登录时显示所有应用中的用户名,但我会在第一页显示用户名。

我的代码是:

控制器

...    
@SessionAttributes("username")
public class InitController
{
@RequestMapping(.. RequestMethod.GET)
public String request (ModelMap model, HttpServletRequest request)
{
   ...
   //model.addAttribute ("username", name);
   request.setAttribute("username", name);
   ...
   return "pageToShow";


 }
}

Page .jsp

<header>
    <div id="divHeader">
        <h1><fmt:message key="page.header"/></h1>
        <div class="divUser">
            <a href="direction?id=${username}" >${username}</a>
        </div>
    </div>
</header>

.jsp页面始终存在,因为它是标题

感谢。

1 个答案:

答案 0 :(得分:1)

替换

request.setAttribute("username", name);

model.addAttribute ("username", name);

并替换

<a href="direction?id=${username}" >${username}</a>

<a href="direction?id=${sessionScope.username}" >${sessionScope.username}</a>

使用${username}时,打印username MVC模型属性,该属性仅存在于当前请求结束之前。 ${sessionScope.username}会从您username注释保存的会话属性中获取@SessionAttributes("username")属性。