zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    SrsDataConnector The SQL Server Reporting Services account is a local user and is not supported.
    Marketing with Microsoft Dynamics CRM IDEA CONFERENCE
    Discuz!X 系列 HTTP_X_FORWARDED_FOR 绕过限制进行密码爆破
    PHPCMS v9.5.6 通杀getshell(前台)
    PHPCMS v9.5.8-设计缺陷可重置前台任意用户密码
    PHPCMS v9.6.0 任意用户密码重置
    PHPCMS V9 任意文件下载(Windows)
    Joomla!3.7.0 Core SQL注入漏洞动态调试草稿
    利用FOFA搜索WatchGuard防火墙
    如何删除Windows休眠文件(hiberfil.sys)
  • 原文地址:https://www.cnblogs.com/ShawnYang/p/7233820.html
Copyright © 2011-2022 走看看