我创建了一个类User,其中包含有关此用户的多个信息。 像名称,会话ID等
用户登录后会创建此类的实例。 现在,此实例需要在此会话的所有jsp页面中可用。
所以我考虑将实例设置为一个属性,每个jsp页面都可以使用它。
如果成功登录,我在servlet中创建了一个实例:
User newUser = new User(username,request.getSession().getId());
在jsp页面中:
<%
User user=session.getAttribute("newUser");
%>
现在我遇到了不兼容类型的问题。 该对象无法转换为用户。
如何解决此问题?
编辑:无法保证此实例存在。
答案 0 :(得分:1)
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).
%>