[英]can not cast object in jsp to java object
我无法正常工作,我也不知道为什么...
然后我可以访问其存储的值(这是一个数组列表)
然后,当我去测试我的代码时,出现以下错误。
任何想法如何解决这个问题?
user_management.jsp
<%
User user = (User) session.getAttribute("obj_user");
boolean test = user.oe_fac_role_right.get(2).get(0).equals(1);
if (test) {
%>
- some html code will be displayed here is the user is allowed to see it
<% } %>
用户类别
public class User {
int user_id;
String username;
List<List<Integer>> oe_fac_role_right = new ArrayList<List<Integer>>(4);
public User(){}
....
....
}
在登录类中创建用户对象:
User user = new User(user_id, username, user_rights);
将用户对象传递给会话:
session.setAttribute("obj_user", user);
来自Netbeans的错误消息
An error occurred at line: 14 in the jsp file: /user_management.jsp
user cannot be resolved to a type
Line 14 in this case is: User user = (User) session.getAttribute("obj_user");
您的行有以小写字母开头的用户 ,但类名是以大写字母开头的用户 。
更改
user user = (user) session.getAttribute("obj_user");
至
User user = (user) session.getAttribute("obj_user");
也将您的班级公开,并按以下方式在jsp中导入班级
<%@ page import="yourPackage.User%>
如果这不起作用,请告诉我。
它没有任何导入,因为所有类都在默认软件包中,因此它们应该可以访问
不正确 。 无法从另一个程序包访问未命名的程序包,并且无法导入未命名的程序包。
由于JSP在某个程序包中被编译为Java类,因此它永远无法访问未命名程序包中的类。
解决方案:您必须为User
类声明一个包,然后将该类导入JSP。
请参阅导入不带Java名称的软件包 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.