学习日志——2019/09/04

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44757417/article/details/100535035

jsp

EL表达式

是为了简化咱们的jsp代码,具体一点就是为了简化在jsp里面写的那些java代码。

  • 写法格式
${表达式 }

如果从作用域中取值,会先从小的作用域开始取,如果没有,就往下一个作用域取。 一直把四个作用域取完都没有, 就没有显示。

  • 如何使用
  1. 取出4个作用域中存放的值。
<%
			pageContext.setAttribute("name", "page");
			request.setAttribute("name", "request");
			session.setAttribute("name", "session");
			application.setAttribute("name", "application");
		%>
		
		按普通手段取值<br>
		
		<%= pageContext.getAttribute("name")%>
		<%= request.getAttribute("name")%>
		<%= session.getAttribute("name")%>
		<%= application.getAttribute("name")%>
		
		<br>使用EL表达式取出作用域中的值<br>
		
		${ pageScope.name }
		${ requestScope.name }
		${ sessionScope.name }
		${ applicationScope.name }
  1. 如果域中所存的是数组
<%
   			String [] a = {"aa","bb","cc","dd"};
   			pageContext.setAttribute("array", a);
   		%>
   		
   		使用EL表达式取出作用域中数组的值<br>
   		
   		${array[0] } , ${array[1] },${array[2] },${array[3] }


  1. 如果域中锁存的是集合
<br>---------集合数据------------<br>
	<%
		List list=new ArrayList();
		list.add("11");
		list.add("12");
		list.add("13");
		list.add("14");
		pageContext.setAttribute("li", list);
	%>
		使用EL表达式取出作用域中的数组的值<br>
		
		${li[0] },	${li[1] },	${li[2] }	,${li[3] }
		
  1. 取出Map集合的值
	<%
   		Map map = new HashMap();
   		map.put("name", "zhangsna");
   		map.put("age",18);
   		map.put("address","北京..");
   		
   		map.put("address.aa","深圳..");


   		pageContext.setAttribute("map", map);
   	%>
   	使用EL表达式取出作用域中Map的值<br>
   	
   	${map.name } , ${map.age } , ${map.address }  , ${map["address.aa"] }

取值细节:

  1. 从域中取值。 得先存值。
从域中取值。  得先存值。
   <%

   	//pageContext.setAttribute("name", "zhangsan");
   	session.setAttribute("name", "lisi...");
   %>

   <br>直接指定说了,到这个作用域里面去找这个name<br>
   ${ pageScope.name } 


   <br>//先从page里面找,没有去request找,去session,去application <br>
   ${ name }

   <br>指定从session中取值<br>
   ${ sessionScope.name }  

  1. 取值方式

如果这份值是有下标的,那么直接使用[]

<%
		String [] array = {"aa","bb","cc"}
		session.setAttribute("array",array);
	%>


	${ array[1] } --> 这里array说的是attribute的name 

如果没有下标, 直接使用 .的方式去取


	<%
		User user = new User("zhangsan",18);
		
		session.setAttribute("u", user);
	%>
	
	${ u.name }  , ${ u.age } 

一般使用EL表达式,用的比较多的,都是从一个对象中取出它的属性值,比如取出某一个学生的姓名。

EL表达式 的11个内置对象。

${ 对象名.成员 }

  • pageContext

作用域相关对象

  • pageScope
  • requestScope
  • sessionScope
  • applicationScope

头信息相关对象

  • header
  • headerValues

参数信息相关对象

  • param

  • paramValues

  • cookie
    全局初始化参数

  • initParam

猜你喜欢

转载自blog.csdn.net/weixin_44757417/article/details/100535035