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

参数隐藏对象

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

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

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

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

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

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

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

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

域隐藏对象

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

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

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();

示例代码:链接: http://pan.baidu.com/s/1mhPNoAc 密码: b5s9

EL表达式的内置对象的更多相关文章

  1. EL 11个内置对象

    JSP开发人员可以在EL表达式中使用EL隐式对象,而不用任何显式的编码或声明.语法如下: ${隐式对象名} <!-- 获取EL隐式对象的引用 --> 在JSP页面中,可以使用JSP脚本来  ...

  2. JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础

    JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...

  3. JSP&EL 内置对象

    JSP&EL 内置对象 转载▼   具体的JSP和El中的内置对象见下表,由于我写在了excel中,也不知道怎么把excel发出来,就截了图. 相关问题: Q1: JSP:EL中 pageCo ...

  4. java web 学习笔记 jsp内置对象

    jsp2 表达式语言的内置对象 使用方式${object.attributename} 或者${object["attributename"]} pageContext pageS ...

  5. JSP EL表达式 与输入有关的内置对象

    与输入有关的隐含对象有两个param和paramValues,用来取得用户的请求参数.在使用EL之前可以使用如下代码取得用户的请求参数: request.getParameter(String nam ...

  6. Jsp内置对象及EL表达式的使用

    一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...

  7. jsp内置对象和el表达式

    九个内置对象 *out jsp的输出流,用来向客户端响应 *page 当前jsp页面, 它的引用数据类型是Object,即真身中有如下代码 Object page=this; *config 它对应真 ...

  8. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】

    什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...

  9. JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象

    Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...

随机推荐

  1. 24个常用 Python 实现

    24个常用 Python 实现 1.冒泡排序 lis = [56,12,1,8,354,10,100,34,56,7,23,456,234,-58] def sortport(): for i in ...

  2. HihoCoder - 1044 状压DP 初步

    本题主要难在状态的转移 定义\(dp[i][j]:\)前\(i\)个中\(j\)集合范围内的最优解 \(j\)定义为\(p_1,p_2,...,p_{m-1}\),若第\(i-j+1\)个选定,则\( ...

  3. HDU - 4035 循环型概率DP

    题解待会在上 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring ...

  4. Scala 中 for 循环 和 generator 的使用例子

    这个例子是,从每个list中,找到age最大的那个node. class Node(vName: String, vAge: Int) { // Entity class var name: Stri ...

  5. [转] 使用 Java8 Optional 的正确姿势

    [From] https://unmi.cc/proper-ways-of-using-java8-optional/ 我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Option ...

  6. [转] iOS开发者的Weex伪最佳实践指北

    [From] http://www.cocoachina.com/ios/20170601/19404.html 引子 这篇文章是笔者近期关于Weex在iOS端的一些研究和实践心得,和大家一起分享分享 ...

  7. html自定义垂直导航菜单(多级导航菜单,去掉font-awesome图标,添加自己的箭头图标)

    这次在原先html自定义垂直导航菜单的基础上做了比较大的改动: 1.去掉了font-awesome图标,上级菜单右边的箭头是自己用css写的,具体参考<css三角箭头>. 2.去掉了初始化 ...

  8. opatch on-line patch and standby-fisrt patch

    opatch on-line patch and standby-fisrt patch on-line patch 有缺陷,不建议使用,standby-fisrt patch 可以考虑使用 #### ...

  9. 切换myEclipse工作空间后设置,myEclipse添加注释/设置豆沙背景颜色/调节字体大小

    一.添加注释 操作位置: 注释规范 Files/** * @文件名称: ${file_name} * @文件路径: ${package_name} * @功能描述: ${todo} * @作者: ${ ...

  10. shell 操作符详解

     = 赋值操作符,可以用于算术和字符串赋值 +  加法计算   -  减法运算 *  乘法运算 /   除法运算 **  幂运算 % 模运算 取他除后的剩余数   因此这个十分好求公约数 += &qu ...