• EL表达式


    1、EL概述
    1.1、el的作用
    Jsp2.0要把HTML和CSS分离,把HTML和JavaScript分离,把java脚本替换成标签,标签的好处是
    非java人员都可以使用。
    jsp2.0-纯标签页面,即:不包含<%...%>,<%!%>,及<%= %>
    EL(Exception Language)是一门表达式语言,它对应<%=...%>.我们知道在JSP中,表达式会被
    输出,所以EL表达式也会被输出。
    1.2、EL的格式
    格式:${...}
    例如:${1+2}
    1.3、关闭EL
    如果希望整个jsp忽略EL表达式,需要在page指令中指定isELIgnored = "true"
    如果希望忽略某个EL表达式,可以在EL表达式之前添加 "",例如:${1+2};
    1.4、EL运算符:
    +
    -
    *
    / 或 div
    % 或 mod
    == 或 eq
    != 或 ne
    < 或 lt
    > 或 gt
    <= 或 le
    >= 或 ge
    && 或 and
    ! 或 not
    || 或 or
    empty
    1.5、EL不显示null
    当EL表达式的值为null时,会在页面上显示空白,即什么都不显示。

    2、EL表达式格式
    *操作list数组:${list[0]}; ${arr[0]}
    *操作bean的属性:${person.name};${person['name']} 对应person.getName()方法
    *操作map的值:${map.key};${map['key']},对应map.get(key).

    3、EL内置对象
    EL共11个内置对象,无需创建即可以使用,这11个内置对象中有10个是Map类型的,
    最后一个是 pageContext 对象。
    * pageScope
    * requestScope
    * sessionScope
    * applicationScope
    * param
    * paramValues
    * header
    * headerValues
    * initParam
    * cookie
    * pageContext

    3.1、域相关内置对象(重点)
    域内置对象一共有四个
    * pageScope: ${pageScope.name}等同于pageContext.getAttribute("name");
    * requestScope: ${requestScope.name}等同于request.getAttribute("name");
    * sessionScope:${sessionScope.name}等同于session.getAttribute("name");
    * applicationScope: ${applicationScope.name}等同于application.getAttribute("name");
    全域查找,${person}表示依次在pageScope,requestScope,sessionScope,applicationScope四个
    域中查找名字为 person 的属性。
    3.2、请求参数相关内置对象
    param 和 paramValues这两个内置对象是用来获取请求参数的。
    * param: Map<String,String>类型,param对象可以用来获取参数与request.getParameter()
    方法相同。

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


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

    3.3、请求头相关内置对象
    header 和 headerValues 是与请求头相关的内置对象
    * header:Map<String,String>类型,用来获取请求头。
    ${header.Host}
    * headerValues: headerValues 是Map<String,String[]>类型,当一个请求头名称对应多个值时,使用该对象。

    3.4、应用初始化参数相关内置对象
    * initParam:initParam是Map<String,String>类型,它对应web.xml文件中的<context-param>参数。

    3.5、Cookie相关内置对象
    * cookie: cookie是Map<String,Cookie>类型,其中key是Cookie的名字,而值是Cookie对象本身。



    3.6、pageContext对象
    *pageContext:pageContext是pageContext类型!可以使用pageContext对象调用getXXX()方法。
    例如:pageContext.getRequest(),可以${pageContext.request},也就是读取JavaBean属性!

    EL表达式 说明
    ${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();

  • 相关阅读:
    mvc判断用户使用的手机或电脑或平板访问程序的方法
    把数据复制到剪切板
    wenform控件fileupload上传文件
    <input type="file">上传文件
    一般处理程序中删除文件
    Ajax中用layer弹出层并刷新页面的方法
    Yii CDBCriteria常用方法(转)
    PHP错位类型及屏蔽方式
    php网站高并发 大流量访问的处理及解决方法
    高并发量网站解决方案
  • 原文地址:https://www.cnblogs.com/trister/p/4601952.html
Copyright © 2020-2023  润新知