[英]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.