EL表达式

一、概念

EL表达式就是Expression Language 表达式语言

二、作用

替换和简化jsp页面中java代码的编写

三、语法

${表达式}

四、注意

jsp默认支持el表达式,如果我们就像在页面上输出${表达式}的话,我们有两种解决办法

  1. 设置jsp中page指令中的一个属性:isELIgnored=“ture”,但是如果设置了这个属性的话,设置了这个属性的页面中的所有EL表达式都显示不出来了
  2. 我们可以使用转义符\反斜杠来设置\${表达式},反斜杠后面的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域中拿数据?(如下)
pageScopepageContext
requestScoperequest
sessionScopesession
applicationScopeapplication

举例示范:
在这里插入图片描述
结果为
在这里插入图片描述

这里注意

如果我们使用${键名}的方式输出数据的话,那么它会依次从最小的域中查找是否有该键的对应的值,直到找到位置

(3)获取对象、List集合、Map集合的值

① 获取对象:${域名称.键名}从指定域中获取指定键的值
举例示范
Person类代码如下
在这里插入图片描述
这里我们需要注意,里面有一个逻辑视图方法,这个很常用,用于美化页面上显示的数据格式

el.jsp代码如下
在这里插入图片描述
显示效果如下:
在这里插入图片描述
② List集合:${域名称.键名[索引]}
举例示范:
el4.jsp中代码如下
在这里插入图片描述
得到的结果如下
在这里插入图片描述
这里注意
EL表达式做了一个内部优化,如果我们出现索引越界的问题的时候,它会默认在页面上显示一个空字符串

③ Map集合:${域名称.键名.key名称} ${域名称.键名称["key名称"]}
举例示范
el5.jsp代码内容如下
在这里插入图片描述
显示结果为
在这里插入图片描述
注意有两种写法:
第一种是${域名称.键名称.key名称};第二种是${域名称.键名称["key名称"]}

3、隐式对象

我们可以通过pageContext这个隐式对象来获取jsp中的其他八个内置对象
主要使用${pageContext.request.contextPath}来动态获取虚拟目录

posted @ 2020-11-20 20:47  谢海川  阅读(73)  评论(0)    收藏  举报