MENU

EL表达式(待补充)

September 26, 2020 • Read: 94 • 教程学习

概念

EL:Expression Language 表达式语言

作用

替换和简化jsp页面中的Java代码的编写

语法

${表达式}

注意

  • jsp中默认支持el表达式的,如果要忽略el表达式

    • 设置jsp中的page指令中的 : isELIgnored="true" 忽略当前页面的中的所有的el表达式
    • ${表达式} : 在没有设置isELIgnored="true",对单个EL表达式忽略

用法

  • 运算

    • 运算符

      • 算术运算符:+ - * / %
      • 比较运算符:< > <= == >= !=
      • 逻辑运算符:$$(and) ||(or) !(not)
      • 空运算符:empty

        • 功能:用于判断字符、集合、数组、对象是否为null并且长度是否为0
        • ${empty list}:判断字符串、集合、数组对象是否为null或者长度为0
        • ${not empty list}:判断字符串、集合、数组对象是否为null 并且长度大于0
  • 获取值

    • 注意事项

      • el表达式只能从与对象中获取值
    • 语法:

      • ${域名称.键名称}:从指定域中获取指定键的值

        • 域名称:

          • pageScope -> pageContext
          • requestScope -> request
          • sessionScope -> session
          • applicationScope ->application (ServletContext)
        • 举例:在request域中存储了name = 张三

        ${requestScope.name} = 张三

        <%
        request.setAttribute("name","张三");
        request.setAttribute("age","23");
        %>
        <h3>el获取值</h3>
        ${requestScope.name}
        ${sessionScope.age}

        打印输出:

        el获取值
        张三 23

      • ${键名}:表示依次从最小的域中查找是否有该键对应的值,知道找到为止。
        ${name}

        • 举例
        <%
        request.setAttribute("name","李四")
        request.setAttribute("name","张三");
        request.setAttribute("age","23");
        %>
        <h3>el获取值</h3>
        ${name} <!--这个name将输出为?-->

        打印输出:

        el获取值
        李四

      • 获取对象、List集合、Map集合的值”

        • 对象:${域名称.键名称.属性名}:

          • 本质上会去调用对象的getter方法。
        • List集合:${域名称.键名[索引]}:
        • Map集合:

          • ${域名称.键名.key名}
          • ${域名称.键名["key名"]}
    • 隐式对象

      • el表达式中有11个隐式对象
      • pageContext

        • 获取jsp其他八个内置对象

          • ${pageContext.request.contextPath}:动态获取虚拟目录

版权声明:文章转载请注明来源,如有侵权请联系删除!

Archives QR Code Tip
QR Code for this page
Tipping QR Code