如何从 JSP 中的会话对象中检索?

How to retrieve from session object in JSP?

我有一个用户对象,其中包含姓名、联系方式等详细信息,并且我将此对象存储在会话属性中。如何在 JSP Scriplet 的字符串变量中保存姓名和联系方式?

我尝试使用

String uname1 = (String) request.getSession().getAttribute(${requestScope['users'].getName()});

以及许多其他组合 但是失败了

我的JAVA代码

user = userDetails.getByUsername(username);

request.getSession().setAttribute("uname", user);

在 JSP 我有

<%

String uname = (String) request.getSession().getAttribute("uname");
if (uname != null) {
response.sendRedirect("home.jsp");
}

%>

如何从 "uname" 对象中提取 "name" 并将其存储到用于检查空值的变量中?

您可以在会话中只存储名称而不是用户对象

user = userDetails.getByUsername(username);

request.getSession().setAttribute("uname", user.getName());

因为我在 jsp 中看到您需要一个 String 对象,如果您想存储一个 User 对象而不是 jsp[ 中的一个字符串,您应该期望一个 User 对象=12=]

user = userDetails.getByUsername(username);

request.getSession().setAttribute("uname", user);

<%

User user = (User) request.getSession().getAttribute("uname");
if (user.getName() != null) {
response.sendRedirect("home.jsp");
}

%>