gpt4 book ai didi

JavaServlet : set an instance as an attribute

转载 作者:行者123 更新时间:2023-12-01 12:20:33 26 4
gpt4 key购买 nike

我创建了一个 User 类,其中包含有关该用户的多个信息。例如名称、 session ID 等

当用户登录时创建此类的实例。现在,该实例需要在该 session 的所有 jsp 页面中可用。

于是我想到了将实例设置为一个属性,每个jsp页面都可以使用。

我在 servlet 中创建了一个实例,以防登录成功:

User newUser = new User(username,request.getSession().getId());

在jsp页面中:

<% 

User user=session.getAttribute("newUser");
%>

现在我遇到了类型不兼容的问题。该对象无法转换为 User。

如何解决这个问题?

编辑:不能保证此实例存在。

最佳答案

getAttribute 声明为返回 Object。如果您确定该对象将是 User 的实例,只需使用 casting :

<% 
User user = (User)session.getAttribute("newUser");
// ^^^^^^ - this means that you claim that you are sure that returned
// Object is in fact of type User (such casting is possible
// because compiler knows that like everything in Java - except
// primitive types - User extends Object).
%>

关于JavaServlet : set an instance as an attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26693496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com