• EL表达式的内置对象


    在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

  • 相关阅读:
    短连接生成
    google 定位 标记 地址解码 逆解码
    Laravel 文件上传
    Laravel
    对接航信开票-在线二维码开票
    win 下 composer 安装
    对接美团外卖开放平台
    IOS 弹框在微信中导致输入框等失焦 偏移问题解决
    微信公众号-高德地图实例
    对接百度地图API 实现地址转经纬度
  • 原文地址:https://www.cnblogs.com/ShawnYang/p/7233820.html
Copyright © 2020-2023  润新知