EL11个内置对象

EL11个内置对象

一、概述

El一共11个内置对象,无需创建即可使用。这11个内置对象中有10个是Map类型,最后一个是pageContext对象

l  pageScope

l  requestScope

l  sessionScope

l  applicationScope

l  param;

l  paramValues;

l  header;

l  headerValues;

l  initParam;

l  cookie;

l  pageContext;

二、域相关的对象

域内置对象一共有4个:

l  pageScope:${pageScope.name}等同与pageContext.getAttribute(“name”);

l  requestScope:${requestScope.name}等同与request.getAttribute(“name”);

l  sessionScoep: ${sessionScope.name}等同与session.getAttribute(“name”);

l  applicationScope:${applicationScope.name}等同与application.getAttribute(“name”);

如果在域中保存的是JavaBean对象,那么可以使用EL来访问JavaBean属性。因为EL只做读取操作,所以JavaBean一定要提供get方法,而set方法没有要求。

全域查找:${person}表示依次在pageScope、requesScopet、sessionScope、appliationScope四个域中查找名字为person的属性。

三、请求参数相关的内置对象

param和paramValues这两个内置对象是用来获取请求参数的。

l  param:Map<String,String>类型,param对象可以用来获取参数,与request.getParameter()方法相同。

EL11个内置对象

注意,在使用EL获取参数时,如果参数不存在,返回的是空字符串,而不是null。这一点与使用request.getParameter()方法是不同的。

l  paramValues:paramValues是Map<String, String[]>类型,当一个参数名,对应多个参数值时可以使用它。

EL11个内置对象

四、请求头相关内置对象

header和headerValues是与请求头相关的内置对象:

l  header:Map<String,String>类型,用来获取请求头。

EL11个内置对象

l  headerValues:headerValues是Map<String,String[]>类型。当一个请求头名称,对应多个值时,使用该对象,这里就不在赘述。

五、应用初始化相关参数相关内置对象

l  initParam:initParam是Map<String,String>类型。它对应web.xml文件中的<context-param>参数。

EL11个内置对象

六、Cookie相关内置对象

l  cookie:cookie是Map<String,Cookie>类型,其中key是Cookie的名字,而值是Cookie对象本身。

EL11个内置对象

七、pageContext对象

ageContext:pageContext是PageContext类型!可以使用pageContext对象调用getXXX()方法,例如pageContext.getRequest(),可以${pageContext.request}。也就是读取JavaBean属性!!!

EL11个内置对象