EL表达式

1. EL 表达式的概念

EL(Expression Language),表达式语言

2. EL 表达式的作用

它可以替换 JSP 页面中 Java 代码的编写,从而简化 JSP 页面

如:

<div><%= request.getAttribute("checkCode_error") == null ? "" : request.getAttribute("checkCode_error")%></div>

可替换为:

<div>${requestScope.checkCode_error}</div>

3. EL 表达式的语法

  1. 语法

    ${表达式}
    

    注意:JSP 默认支持 EL 表达式,会自动解析 EL 表达式并展示到页面上,如:

    ${3 > 4}
    

    页面上会显示:false

  2. 如果要忽略 EL 表达式,有两种方式

    1. 忽略当前 JSP 页面中所有的 EL 表达式

      <%@ page isELIgnored="true" %>
      
    2. 忽略当前这个 EL 表达式

      \${表达式}
      

4. EL 表达式的使用

  1. 运算

    1. 运算符

      • 算数运算符:+ - * / %

      • 比较运算符:> < >= <= == !=

      • 逻辑运算符: && || !

      • 空运算符:empty

        • 功能:用于判断字符串、集合、数组对象是否为 null 或者长度是否为 0
        • ${empty list}:list 对象为 null 或者长度为 0 时,返回 true
  2. 获取值

    1. EL 表达式只能从域对象中获取值

    2. 获取字符串的值语法

      1. 从指定域中获取指定键的值

        ${域名称.键名}
        
        • 域名称(按有小到大排列):

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

          ${requestScope.name}
          
      2. 依次从最小的域中查找是否有该键对应的值,直到找到为止

        ${键名}
        
    3. 获取对象、List集合、Map集合的值语法

      1. 对象

        ${域名称.键名.属性名}
        

        注意:属性名是 setter 和 getter 方法截取后的产物,如:getUsername() --> Username–> username,如果对象没有对应的 getXXX 方法就获取不到值

        • 例如:获取 user 对象的 brithday 属性的月份

          ${requestScope.user.brithday.month}
          

          注意:month 对应着 birthday 的 getMonth() 方法

      2. List 集合

        ${域名称.键名[索引]}
        

        注意:如果索引越界,不会报错,会显示空字符串

      3. Map 集合

        ${域名称.键名.key名称}
        

5. EL 表达式的隐式对象

  1. 隐式对象的概念

    在 EL 表达式中可以直接使用的对象,EL 表达式中有11个隐式对象

  2. pageContext 对象

    pageContext 是一个 EL 表达式的隐式对象,对应 JSP 内置对象中的 pageContext,它可以获取 JSP 其他八个内置对象

    如:动态获取虚拟目录

    <form action="${pageContext.request.contextPath}/LoginServlet" method="post">
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bm1998

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值