Skip to content

EL表达式

  • 使得JSP写起来更简单,简洁,主要用于获取作用域中的数据
  • 用来替换作用域对象.getAttribute("name")

基本应用

  • ${scope.name}获取具体某个作用域中的数据
  • ${name}获取作用域中的数据,逐级查找(pageContxt, request, session, application), 此顺序已经过验证
java
<%
    request.setAttribute("num", 1234);
%>

<div>
<div>===============算数运算==================</div>
    <div>num+1: ${requestScope.num}</div>
    <div>num+1: ${num}</div>
</div>

EL和JSP脚本的区别

  • <% request.getAttribule("name") %> 没有找到返回null
  • ${requestScope.name} 没找到返回""

EL应用

使用EL获取作用域中的对象调用属性时,只能访问对象的get方法,必须遵守命名规范定义

获取对象属性

获取Array,List,Map中的元素

Set由于没有下标,无法直接访问元素,后续可遍历

运算符

  • “.” 访问一个Bean对象属性或者一个映射条目
  • “[]” 访问一个数组或者链表的元素
  • “+” 加
  • “-” 减
  • “*” 乘
  • “/ or div” 除
  • “% or mod” 取模
  • “== or eq” 等于
  • “!= or ne” 不等于
  • “< or lt” 小于
  • “> or gt” 大于
  • “<= or le” 小于等于
  • “>= or ge” 大于等于
  • “&& or and” 逻辑与
  • “|| or or” 逻辑或
  • “! or not” 取反
  • empty 空值

11个隐式对象

  • pageScope: 表示变量只能在本页面使用。
  • requestScope: 表示变量能在本次请求中使用。
  • sessionScope: 表示变量能在本次会话中使用。
  • applicationScope: 表示变量能在整个应用程序中使用。
  • param: 表示请求参数。
  • paramValues: Request对象的参数,字符串集合
  • header: HTTP信息头,字符串
  • headerValues: HTTP信息头,字符串信息集合
  • initParam: 上下文初始化参数
  • cookie: Cookie值
  • pageContext: 当前页面的pageContext