在Spring Framework(4)的jsp页面中获取User对象详细信息的正确方法是什么?

时间:2016-08-04 18:05:44

标签: java spring jsp spring-mvc

如何在JSP页面中获取用户对象详细信息?下面的代码在Spring Framework 3中运行良好,但在Spring 4中出错。

代码块

<span class="header-label">${pageContext.request.userPrincipal.principal.firstName} ${pageContext.request.userPrincipal.principal.lastName}</span>

Spring 4(Eclipse IDE)中给出的错误虽然在部署时工作正常

Multiple annotations found at this line:
    - The method getPrincipal() is undefined for the type 
     Principal
    - javax.servlet.jsp.PageContext cannot be resolved to a 
     type
    - javax.servlet.jsp.JspException cannot be resolved to a 
     type

1 个答案:

答案 0 :(得分:0)

表达式中有错误。充其量,在一些javadocs(HttpServletRequestPrincipal)的帮助下,表达式可以是:

${pageContext.request.userPrincipal.name}

你可以试试这个。

Principal并不等同于用户。它更像是Subject(大致是用户)的身份验证透视图。它代表主体必须登录的手段之一。就我们所知,name属性可以是用户名或信用卡号。

虽然你不太可能从校长那里得到名字和姓氏。