el表达式
该篇博客主要关于EL表达式,废话不多说=-=进入正题
博客目录
1、EL表达式介绍
2、EL获取数据
3、EL中的内置对象
4、EL访问Bean的属性
5、EL访问数组中的数据
6、EL获取list中数据
7、EL访问Map
8、EL中的运算符(empty)
9、自定义EL函数
10、总结
一、EL表达式介绍
Expression Language表达式语言
是一种在JSP页面获取数据的简单方式(只能获取数据,不能设置数据)
在JSP2.0开始引入概念
语法格式
在JSP页面的任何静态部分均可通过:${expression}来获取到指定表达式的值
二、EL获取数据(从四大域中获取属性)
EL只能从四大域中获取属性
1、如果没有使用EL的内置对象,则查找数据顺序是依次按照由小到大范围从四大域中查找指定名称的属性值
- pagecontext
pageEncoding="UTF-8"%>
Insert title herepageContext.setAttribute("name", "linjie");
request.setattribute("name", "lucy");
session.setattribute("name", "king");
application.setAttribute("name", "bilibili");
%>
name=${name }
可以看出没有使用EL内置对象时查找顺序是由小到大,所以最先显示的是pageContext域中的
2、使用EL内置对象,从指定域中获取数据,提高了查找效率
pageEncoding="UTF-8"%>
Insert title herepageContext.setAttribute("name", "linjie");
request.setAttribute("name", "lucy");
session.setAttribute("name", "king");
application.setAttribute("name", "bilibili");
%>
name=${applicationScope.name }
可以看出,使用applicationScope即可指定application域中的name输出,当然其他域也是类似,下文会说这四大域属性相关的内置对象
三、EL中的内置对象
EL有11个内置对象,这里主要讲域属性相关的4个和其他4个
EL的11个内置对象,除了pageContext以外,其他10个内置对象的类型都是java.util.Map类型
1、域属性相关(4个)
pageScope:从page范围域属性空间中查找指定的key
requestScope:从request范围域属性空间中查找指定的key
sessionScope:从session范围域属性空间中查找指定的key
applicationScope:从application范围域属性空间中查找指定的key
pageEncoding="UTF-8"%>
Insert title herepageContext.setAttribute("name", "linjie");
request.setAttribute("name", "lucy");
session.setAttribute("name", "king");
application.setAttribute("name", "bilibili");
%>
name=${applicationScope.name }
name=${pageScope.name }
name=${sessionScope.name }
name=${requestScope.name }
2、其他重要内置对象(4个)
1、pageContext
该pageContext与JSP内置对象pageContext是同一个对象。通过该对象,可以获取到request、response、session、servletContext、servletConfig等对象注意:这些对象在EL里不是内置对象,这些对象只