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号
浙公网安备 33010602011771号