EL一共11个内置对象,无需创建即可以使用。这11个内置对象中有10个是Map类型的,最后一个是pageContext对象。
pageScope
requestScope
sessionScope
applicationScope
param;
paramValues;
header;
headerValues;
initParam;
cookie;
pageContext;
1:
域内置对象一共有四个:
pageScope:KaTeX parse error: Unexpected character: '' at position 54: …ibute(“name”); ̲ requestScope:{requestScope.name}等同与request.getAttribute(“name”);
sessionScoep: KaTeX parse error: Unexpected character: '' at position 53: …ibute(“name”); ̲ applicationSco…{applicationScope.name}等同与application.getAttribute(“name”);
2如果在域中保存的是JavaBean对象,那么可以使用EL来访问JavaBean属性。因为EL只做读取操作,所以JavaBean一定要提供get方法,而set方法没有要求。
全域查找:${person}表示依次在pageScope、requesScopet、sessionScope、appliationScope四个域中查找名字为person的属性。
2:请求参数相关内置对象
param和paramValues这两个内置对象是用来获取请求参数的。
param:Map<String,String>类型,param对象可以用来获取参数,与request.getParameter()方法相同。
注意,在使用EL获取参数时,如果参数不存在,返回的是空字符串,而不是null。这一点与使用request.getParameter()方法是不同的。
paramValues:paramValues是Map<String, String[]>类型,当一个参数名,对应多个参数值时可以使用它。
3:请求头相关内置对象
header和headerValues是与请求头相关的内置对象:
header: Map<String,String>类型,用来获取请求头。
headerValues:headerValues是Map<String,String[]>类型。当一个请求头名称,对应多个值时,使用该对象,这里就不在赘述。
4:应用初始化参数相关内置对象
initParam:initParam是Map<String,String>类型。它对应web.xml文件中的参数。
5:Cookie相关内置对象
cookie:cookie是Map<String,Cookie>类型,其中key是Cookie的名字,而值是Cookie对象本身。
6:pageContext对象
pageContext:pageContext是PageContext类型!可以使用pageContext对象调用getXXX()方法,例如pageContext.getRequest(),可以${pageContext.request}。也就是读取JavaBean属性!!!