EL表达式
一、概念
EL表达式就是Expression Language 表达式语言
二、作用
替换和简化jsp页面中java代码的编写
三、语法
${表达式}
四、注意
jsp默认支持el表达式,如果我们就像在页面上输出${表达式}的话,我们有两种解决办法
- 设置jsp中page指令中的一个属性:isELIgnored=“ture”,但是如果设置了这个属性的话,设置了这个属性的页面中的所有EL表达式都显示不出来了
- 我们可以使用转义符\反斜杠来设置
\${表达式},反斜杠后面的EL表达式能够直接展示到页面上
五、使用
1、运算
(1)算数运算符:+ - * / 除法也可以用(div)来表示 %取余可以用(mod)来表示
举例示范

结果为

(2)比较运算符:> < >= <= == !=
举例示范

结果为

(3)逻辑运算符:&&(and) ||(or) !(not)
举例示范

结果为

(4)空运算符:empty
功能:用于判断字符串、集合、数组的对象是否为null或者长度是否为0
例如:${empty list}判断list对象是否为null或者长度是否为0
多用${not empty list}判断字符串、集合、数组对象是否不为null,并且长度大于0
举例示范

得到的结果为

2、获取值
(1)el表达式只能从域对象中获取值
(2)语法:
① ${域名称.键名}:从指定域名称中获取指定键的值
② 域名称都是什么
| 域名称有如下这些 | 域名称是从哪一个jsp域中拿数据?(如下) |
|---|---|
| pageScope | pageContext |
| requestScope | request |
| sessionScope | session |
| applicationScope | application |
举例示范:

结果为

这里注意
如果我们使用${键名}的方式输出数据的话,那么它会依次从最小的域中查找是否有该键的对应的值,直到找到位置
(3)获取对象、List集合、Map集合的值
① 获取对象:${域名称.键名}从指定域中获取指定键的值
举例示范
Person类代码如下

这里我们需要注意,里面有一个逻辑视图方法,这个很常用,用于美化页面上显示的数据格式
el.jsp代码如下

显示效果如下:

② List集合:${域名称.键名[索引]}
举例示范:
el4.jsp中代码如下

得到的结果如下

这里注意
EL表达式做了一个内部优化,如果我们出现索引越界的问题的时候,它会默认在页面上显示一个空字符串
③ Map集合:${域名称.键名.key名称} ${域名称.键名称["key名称"]}
举例示范
el5.jsp代码内容如下

显示结果为

注意有两种写法:
第一种是${域名称.键名称.key名称};第二种是${域名称.键名称["key名称"]}
3、隐式对象
我们可以通过pageContext这个隐式对象来获取jsp中的其他八个内置对象
主要使用${pageContext.request.contextPath}来动态获取虚拟目录

浙公网安备 33010602011771号