1. 程式人生 > >EL表示式 作用域問題 物件名字和session的優先順序

EL表示式 作用域問題 物件名字和session的優先順序

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>
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"));}}
所有用session傳遞值時別跟物件名字重合了,否者容易出錯,例如我這裡定義的使用者沒用名字的,用EL表示式顯示時不顯示,因為沒用名字,所以換了一個鍵名就OK了