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