如何在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
答案 0 :(得分:0)
表达式中有错误。充其量,在一些javadocs(HttpServletRequest和Principal)的帮助下,表达式可以是:
${pageContext.request.userPrincipal.name}
你可以试试这个。
但Principal
并不等同于用户。它更像是Subject
(大致是用户)的身份验证透视图。它代表主体必须登录的手段之一。就我们所知,name属性可以是用户名或信用卡号。
虽然你不太可能从校长那里得到名字和姓氏。