我在 login.jsp 上使用 j_security_check。服务器是 GlassFish Server 3。一切正常,当用户通过身份验证时,它会打开 index.jsp。我的问题是我需要在 index.jsp 中获取 j_username,但我找不到这样做的方法。我找到的所有解决方案都是用 Java 编写的,我需要一些适用于我的 jsp 的东西。
有任何想法吗?非常感谢您!
我在 login.jsp 上使用 j_security_check。服务器是 GlassFish Server 3。一切正常,当用户通过身份验证时,它会打开 index.jsp。我的问题是我需要在 index.jsp 中获取 j_username,但我找不到这样做的方法。我找到的所有解决方案都是用 Java 编写的,我需要一些适用于我的 jsp 的东西。
有任何想法吗?非常感谢您!
所涉及的请求在 JSP EL 中可用PageContext#getRequest()
。登录用户可通过HttpServletRequest#getUserPrincipal()
. 用户名反过来可由Principal#getName()
.
所以,
<p>Welcome, <c:out value="${pageContext.request.userPrincipal.name}" /></p>
应该做。
顺便说一句,使用<c:out>
不是必需的,但对于用户名可能包含特殊 HTML 字符的情况很有用,这些字符可能会导致 HTML 输出错误,如,<
等(这是 XSS 攻击的来源)。只是将它们转义,以便它们按字面意思显示,而不是被解释为 HTML 标记的一部分。>
"
<c:out>