EL表达式 作用域问题 对象名字和session的优先级

EL表达式可以从pageContext,request,session,application四个作用域中取到值,如果4个作用域都有name属性怎么办? 

EL会按照从小到大的优先级顺序获取 

pageContext>request>session>application


但是如果你有一个对象是他会优先选择对象

		
!!${user.name}

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了

你可能感兴趣的:(出错)