【问题标题】:how to get session attribute data members from different servlets?如何从不同的 servlet 获取会话属性数据成员?
【发布时间】:2026-01-20 07:55:01
【问题描述】:
我已经设置了这样的会话属性:
request.getSession().setAttribute("newEmployee", retEmp);
现在这个属性是具有数据成员“id”的 Employee 类型的对象,我想从另一个 servlet 获取它,所以我尝试做这样的事情:
request.getSession().getAttribute("newEmployee.id").toString()
它不应该工作吗?
tnx
【问题讨论】:
标签:
java
jsp
session
servlets
【解决方案1】:
您需要使用您放入该值的同一键来检索该值。然后,您需要将其转换为您存储在会话中的对象类型。完成后,您可以随意操作它。
Employee e = (Employee) request.getSession().getAttribute("newEmployee");
String id = e.id;
这就是我们在 Java 这样的强类型语言中做事的方式(除了散列部分,它在任何地方都可以正常工作)。
【解决方案2】:
你只需要
String empId = ((Employee) request.getSession().getAttribute("newEmployee")).getId();