EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写。
简单来说EL表达式就是让程序员,简化了代码的书写量。在学EL表达式之前我们必须通过<%= %>来取出域中的数据,但这种方式过于繁琐,所以就诞生了EL表达式。
一、EL与四大作用域
JSP的四大域对象指的是:page域,request域,session域,application域,我们可以使用EL表达式从这4个域对象中取值。
EL表达式从指定的域中取值的方式如下:
域对象 | 取值方式 |
---|---|
page域 | ${pageScope.key} |
request域 | ${requestScope.key} |
session域 | ${sessionScope.key} |
application域 | ${applicationScope.key} |
二、EL的特别之处
- 可与JSTL以及JavaScript语句结合使用
- 自动执行类型转换
- 直接访问JavaBean中的属性:嵌套属性、集合对象
- 可执行算法:算术、逻辑、关系、条件
- 可获得命名空间(的对象)
- 除0没有异常
- 可访问作用域对象
- 扩展函数可以与Java里的静态方法执行映射
三、EL使用条件
- Web服务器支持Servlet2.4/JSP2.0
- EL表达式未禁用:禁用方法
- \
- <%@ page isELlgnored="true"%>
- web.xml中配置<el-ignored>元素
- 正确使用表达式
四、EL存取范围
- 默认从page中找
- 然后依次为:request、session、application
- 找到返回值,找不到返回null