java el表达式原理_「el表达式」EL表达式详解 - seo实验室

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 here

pageContext.setAttribute("name", "linjie");

request.setattribute("name", "lucy");

session.setattribute("name", "king");

application.setAttribute("name", "bilibili");

%>

name=${name }

85b1aedb94b5beb3369c095a9426743f.png

可以看出没有使用EL内置对象时查找顺序是由小到大,所以最先显示的是pageContext域中的

2、使用EL内置对象,从指定域中获取数据,提高了查找效率

pageEncoding="UTF-8"%>

Insert title here

pageContext.setAttribute("name", "linjie");

request.setAttribute("name", "lucy");

session.setAttribute("name", "king");

application.setAttribute("name", "bilibili");

%>

name=${applicationScope.name }

d286f7cd79420205abeecd2e89baa1dc.png

可以看出,使用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 here

pageContext.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 }

69468c4e5ab95e0d90337977c9831c01.png

2、其他重要内置对象(4个)

1、pageContext

该pageContext与JSP内置对象pageContext是同一个对象。通过该对象,可以获取到request、response、session、servletContext、servletConfig等对象注意:这些对象在EL里不是内置对象,这些对象只

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值