【发布时间】:2017-07-13 01:33:25
【问题描述】:
我使用 servlet/jsp 进行了一些基于身份验证的项目。当用户最初使用用户名和密码登录时,通过登录 servlet 进行身份验证,我需要将用户的电子邮件保存在变量中,例如通过执行 String email 来执行 @987654323 @ 询问。
我需要从登录 servlet 到电子邮件 servlet 访问该变量,以便将某种 OTP 发送到用户的电子邮件。
如何使用会话属性或任何相关想法来实现?
【问题讨论】:
我使用 servlet/jsp 进行了一些基于身份验证的项目。当用户最初使用用户名和密码登录时,通过登录 servlet 进行身份验证,我需要将用户的电子邮件保存在变量中,例如通过执行 String email 来执行 @987654323 @ 询问。
我需要从登录 servlet 到电子邮件 servlet 访问该变量,以便将某种 OTP 发送到用户的电子邮件。
如何使用会话属性或任何相关想法来实现?
【问题讨论】:
请如下使用。你可以实现你所需要的。
<%session.setAttribute( "email", "test@gmail.com" );%>
<%= session.getAttribute( "email" ) %>
我们使用的另一种方式。
<c:set var="email" value="test@gmail.com" scope="session"/>
你用 JS 得到这个:
var mail ="${email}";
【讨论】:
要在会话中保存数据,您应该使用来自 http 请求的会话对象,如下所示:
HttpSession session = request.getSession();
session.setAttribute("email", email);
使用 scriptlet 从会话对象中检索数据:
<%= session.getAttribute("email")%>
或
<%= request.getSession().getAttribute("email")%>
你也可以使用EL表达式:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:out value="${sessionScope.email}"/>
【讨论】: