如題,我有點想不通,實體類中有用戶類Users,里面的屬性都是私有屬性,必須通過get和set方法取值和賦值。在用戶登錄頁面獲取用戶輸入的用戶名和密碼提交到DoLoginServlet,與數(shù)據(jù)庫中的用戶名和密碼匹配成功后保存到用戶類的一個實例logUser中,并將該返回的用戶實例保存到request.getSession().setAttribute("user",logUser)中,然后request.getRequestDispatcher("welcome.jsp").forward(request, response);轉(zhuǎn)發(fā)到welcome.jsp中,關(guān)鍵來了,在welcome.jsp中使用EL表達式讀取時,${user.getUserName()}報錯org.apache.jasper.JasperException: /welcome.jsp(22,59) The function getUserName must be used with a prefix when a default namespace is not specified,我以為是沒將用戶類導入導致的,然后我試了下${user}是可以讀出對象,再試著${user.userName}果然就正確 顯示用戶名了,為什么?這屬性是私有的,求解!?。?
1 回答
已采納

亞努人
TA貢獻58條經(jīng)驗 獲得超75個贊
屬性是私有的沒錯,但是EL表達式底層的實現(xiàn)就是通過屬性的get方法獲取屬性的值,在使用的時候,這一特性被封裝了,直接用對象.屬性就可以獲取值了,這就是EL表達式的方便之處,否則還不如直接用jsp的表達式。
- 1 回答
- 1 關(guān)注
- 2364 瀏覽
添加回答
舉報
0/150
提交
取消