一.EL概述
EL(Express Lanuage)可以嵌套在jsp页面,减少脚本代码的编写,EL出现的目的是为了替代jsp页面中脚本的编写。
二.EL 的作用
2.1 EL从jsp中的四大域中取数据(是EL最重要的的作用)
jsp 脚本 :<%=request.getAttribute(name)%> //获取request域中名称为name的值
EL 替代上面的脚本:${requestScope.name} //获取request域中名称为name的值
这两行代码都能达到样的效果
好像也没简化多少哦!— —||。
2.2 下面通过三个案例来看EL如何简化了jsp脚本。
案例一:分别获取四个域中的普通字符串
2.2.1 向四个域中存储字符串
2.2.2 使用jsp脚本代码获取四个域中的字符串
2.2.3 使用EL代码获取四个域中的字符串
2.2.4 查看浏览器
案例二:向session域中存储User对象,分别使用jsp脚本代码和EL代码获取对象。
使用jsp脚本代码向session域中存储User对象。
使用jsp脚本代码获取对象并get对象中的姓名、年龄、性别。
使用EL代码获取对象并get对象中的姓名、年龄、性别。
查看浏览器
案例三:向pageContext域中存储list 集合,分别使用jsp脚本代码和EL代码获取集合。
创建四个对象想存入List集合,然后将集合存入pageContext域中。
使用jsp 脚本代码获取pageContext域中的List集合,并打印对象2的信息
使用EL代码获取pageContext域中的List集合,并打印对象4的信息
查看浏览器
三. 总结
EL的出现是为了代替jsp脚本代码,简化代码量。主要的功能就会获取数据。
EL获取四个域中的格式:
EL获得pageContext域中的值:${pageScope.key};
EL获得request域中的值:${requestScope.key};
EL获得session域中的值:${sessionScope.key};
EL获得application域中的值:${applicationScope.key};
key 值的书写 :
如果获取某个域中的属性:${域.属性名}
如果获取某个域中的对象中的属性:${域.对象名.属性名}
如果获取某个List集合中的对象中的属性:${域.集合名[角标].属性名}
.........................
小知识:${key} ,书写EL 代码时可以将域名去掉,程序便会依此从pageContext域,request域,session域,application域中 获取属性,在某个域中获取后将不在向后寻找。