EL表示式 作用域問題 物件名字和session的優先順序
阿新 • • 發佈:2019-01-09
EL表示式可以從pageContext,request,session,application四個作用域中取到值,如果4個作用域都有name屬性怎麼辦?
EL會按照從小到大的優先順序順序獲取
pageContext>request>session>application
但是如果你有一個物件是他會優先選擇物件
<div style="font-weight:bold;font-size:16px;color:red;">!!${user.name}</div>
所有用session傳遞值時別跟物件名字重合了,否者容易出錯,例如我這裡定義的使用者沒用名字的,用EL表示式顯示時不顯示,因為沒用名字,所以換了一個鍵名就OK了public ModelAndView login(User user,HttpSession session) throws Exception{ ModelAndView mav; String email=user.getEmail(); String pwd=user.getPassword(); String md5pwd=Md5Encrypt.toMd5Encrypt(pwd); System.out.println(md5pwd); User finduser=userservice.SelectByEmailForPwd(user); System.out.println(finduser); String findpwd=finduser.getPassword(); System.out.println("find"+findpwd); if(md5pwd.equals(findpwd)) { session.setAttribute("user",finduser); System.out.println(session.getAttribute("login"));}}