概念
Expression Language 表达式语言
作用
替换和简化JSP页面中的Java代码的编写
语法
${表达式}
注意:
1. JSP页面中默认支持EL表达式
2. 忽略EL表达式:设置jsp的Page指令中:isELIgnored="true"
3. 忽略单句EL表达式:加一个反斜线 \
使用
运算
1. 算数运算符: + - * /(div) %(mod) 2. 比较运算符: > < >= == != 3. 逻辑运算符: && || ! 4. 空运算符:empty 功能:用于判断字符串,集合,数组对象是否 为null并且长度是否为0 ${empty list}: 判断是否为null或者长度为0 ${not empty list}: 判断是否不为null并且长度大于0
获取值
1. el表达式只能从域对象中获取值
语法:
1. $域名称.键名}
从指定的域中获取指键的值。
域名称:
1. PageScope --> pageContext
2. requestScope --> request
3. sessionScope --> session
4. applicationScope --> application(ServletContext)
举例:在request域中存储了name=张三
获取:$(request.name)
2. ${键名}
表示依次从最小的域中查找是否有该键对应的值,直到找到为止。
3. 获取对象
获取LIst集合,Map集合的值
对象:
${域对象.键名.属性名} 本质上是会去调用对象的getter方法
List集合:
${域名.键名[索引]} (EL中索引越界,不显示)
Map集合:
${域名称.键名.key名称} ${域名称.键名["key名称"]}
4. 隐式对象
pageContext:
获取jsp其他8个内置对象
${pageContext.request.contextPath}:动态获取虚拟目录
注:EL表达式一共有11个隐式对象