亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求解Servlet中的setAttribute和JSP中的EL表達式的問題

求解Servlet中的setAttribute和JSP中的EL表達式的問題

迷失代碼林 2017-04-13 15:36:14
如題,我有點想不通,實體類中有用戶類Users,里面的屬性都是私有屬性,必須通過get和set方法取值和賦值。在用戶登錄頁面獲取用戶輸入的用戶名和密碼提交到DoLoginServlet,與數據庫中的用戶名和密碼匹配成功后保存到用戶類的一個實例logUser中,并將該返回的用戶實例保存到request.getSession().setAttribute("user",logUser)中,然后request.getRequestDispatcher("welcome.jsp").forward(request, response);轉發到welcome.jsp中,關鍵來了,在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條經驗 獲得超75個贊

屬性是私有的沒錯,但是EL表達式底層的實現就是通過屬性的get方法獲取屬性的值,在使用的時候,這一特性被封裝了,直接用對象.屬性就可以獲取值了,這就是EL表達式的方便之處,否則還不如直接用jsp的表達式。
查看完整回答
2 反對 回復 2017-04-14
  • 1 回答
  • 1 關注
  • 2368 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號