一、概念
Expression Language 表达式语言
二、作用
替换和简化 jsp 页面中 java 代码的编写
三、语法
${表达式}
四、注意
jsp 默认支持 el 表达式的,如果要忽略 el 表达式,有如下方法:
① 设置 jsp 中 page 指令中:isELIgnored="true" 忽略当前 jsp 页面中所有的 el 表达式
② \${表达式}:忽略当前这个 el 表达式
五、运算符
算数运算符: +、- 、* 、/(div) 、%(mod)
比较运算符: > 、< 、>=、 <=、 ==、 !=
逻辑运算符: && (and)、 ||(or)、 !(not)
空运算符: empty
功能:用于判断字符串、集合、数组对象是否为 null 或者长度是否为 0
① ${empty list}:判断字符串、集合、数组对象是否为 null 或者长度为 0
② ${not empty str}:表示判断字符串、集合、数组对象是否 不为 null 并且 长度 > 0
六、获取值
el 表达式只能从域对象中获取值
1、语法
(1)${域名称.键名}:从指定域中获取指定键的值
a. 域名称:
| 域名称 | 指定域 |
|---|---|
| pageScope | pageContext |
| requestScope | request |
| sessionScope | session |
| applicationScope | application(ServletContext) |
b. 举例:
在request域中存储了name=张三,通过${requestScope.name}来获取指定域request中指定键name的值
c. 如果指定的键不存在,显示的是空字符串
(2)${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止
(3)获取对象、List集合、Map集合的值
a. 对象
- ${域名.键名.属性名}
- 本质上会去调用对象的 getter 方法
b. List集合
- ${域名称.键名[索引]}
- 索引不存在会报错
c. Map集合
- ${域名称.键名.key名称}
- ${域名称.键名["key名称"]}
2、隐式对象
el 表达式中有11个隐式对象
pageContext:获取 jsp 其他八个内置对象
${pageContext.request.contextPath}:动态获取虚拟目录
浙公网安备 33010602011771号