1.EL的内置对象11个

pageScope,requestScope,sessionScope,applicationScope

 ---- 获取JSP中域中的数据

param,paramValues   -- 接收参数.

相当于request.getParameter()  rrquest.getParameterValues()

header,headerValues   -- 获取请求头信息

相当于request.getHeader(name)

initParam                    -- 获取全局初始化参数

相当于this.getServletContext().getInitParameter(name)

cookie                        -- WEB开发中cookie

相当于request.getCookies()---cookie.getName()---cookie.getValue()

pageContext             -WEB开发中的pageContext.

pageContext获得其他八大对象


${pageContext.request.contextPath} 获取WEB应用名称


在EL表达式中,无需创建就可以使用的对象称之为EL隐藏(隐含、内置)对象。在EL中一共有11个隐藏对象,它们都与Map相似。其中10是Map,一个是 PageContext。

参数隐藏对象

这些隐藏对象都是Map类型!

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

jsp的9大内置对象与EL表达式的11个内置对象_数据

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

jsp的9大内置对象与EL表达式的11个内置对象_内置对象_02

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

jsp的9大内置对象与EL表达式的11个内置对象_请求头_03

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

jsp的9大内置对象与EL表达式的11个内置对象_请求头_04

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

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

jsp的9大内置对象与EL表达式的11个内置对象_请求头_05

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

jsp的9大内置对象与EL表达式的11个内置对象_内置对象_06

域隐藏对象

使用EL表达式最为常用的就是获取域对象中保存的数据。例如:${pageScope.xxx},表示获取在pageContext保存的数据。当然${pageScope[‘xxx’]}是相同的!

7、pageScope:pageScope是Map<String,Object>类型,${pageScope.xxx}的功能相等与pageContext.getAttribute(“xxx”)。两者的区别在于,前者在数据不存在时返回空字符串,而后者返回null。

jsp的9大内置对象与EL表达式的11个内置对象_请求头_07

jsp的9大内置对象与EL表达式的11个内置对象_数据_08

8、requestScope:requestScope是Map<String, Object>类型,装载了request对象中的所有数据;

9、sessionScope:sessionScope是Map<String, Object>类型,装载了session对象中的所有数据;

10、applicationScope:applicationScope是Map<String, Object>类型,装载了application对象中的所有数据;

当EL中给出的不是隐藏对象时,表示在四个域中查找数据。例如:${a},表示

  l  在${pageScope.a}中查找,如果找到就返回;

  l  在${requestScope}中查找,如果找到就返回;

  l  在${sessionScope}中查找,如果找到就返回;

  在${applicationScope}中查找,如果找到就返回,找不到就返回空字符串。

页面上下文隐藏对象

11、pageContext:pageContext是PageContext类型!可以使用pageContext对象调用getXXX()方法,例如pageContext.getRequest,可以${pageContext.request}。

Expression

说明

${pageContext.request.queryString}

pageContext.getRequest().getQueryString();

${pageContext.request.requestURL}

pageContext.getRequest().getRequestURL();

${pageContext.request.contextPath}

pageContext.getRequest().getContextPath();

${pageContext.request.method}

pageContext.getRequest().getMethod();

${pageContext.request.protocol}

pageContext.getRequest().getProtocol();

${pageContext.request.remoteUser}

pageContext.getRequest().getRemoteUser();

${pageContext.request.remoteAddr}

pageContext.getRequest().getRemoteAddr();

${pageContext.session.new}

pageContext.getSession().isNew();

${pageContext.session.id}

pageContext.getSession().getId();

${pageContext.servletContext.serverInfo}

pageContext.getServletContext().getServerInfo();



jsp的9大内置对象

jsp的9大内置对象与EL表达式的11个内置对象_内置对象_09

jsp的9大内置对象与EL表达式的11个内置对象_内置对象_10

jsp的9大内置对象与EL表达式的11个内置对象_请求头_11

EL的11个内置对象

jsp的9大内置对象与EL表达式的11个内置对象_请求头_12

jsp的9大内置对象与EL表达式的11个内置对象_数据_13