EL
1、简介
EL是JSP内置的表达式语言。
2、作用
①用以访问页面的上下文以及不同作用域中的对象 ,取得对象属性的值,或执行简单的运算或判断操作
②EL表达式用于代替JSP表达式(<%= %>)在页面中做输出操作。
3、特点
- EL在得到某个数据时,会自动进行数据类型的转换。
- EL表达式仅仅用来读取数据,而不能对数据进行修改。
- 使用EL表达式输出数据时,如果有则输出数据,如果为null则什么也不输出。
4、EL的使用
${表达式} 或 ${域对象.表达式}
注:(1)当el取值时,值必须在域中或上下文中。
(2)当没有指定域对象时,会默认从小到大域进行查询。
(3)当EL取对象中的属性值时:
属性:bean包中实例类中getXXX()方法中的xxx才是属性。
${requestScope.stu.name}
或者${requestScope.stu["name"]}
5、四大域对象对比及称呼
称呼 | jsp中域对象 | el中的对象 |
---|---|---|
page域 | pageContext | pageScope |
request域 | request | requestScope |
session域 | session | sessionScope |
application域 | application | applicationScope |
6、EL的11个隐式(隐含|内置)对象
隐含对象 | 类型 | 说明 |
---|---|---|
PageContext | javax.servlet.ServletContext | 表示此JSP的PageContext |
PageScope | java.util.Map | 取得Page范围的属性名称所对应的值 |
RequestScope | java.util.Map | 取得Request范围的属性名称所对应的值 |
sessionScope | java.util.Map | 取得Session范围的属性名称所对应的值 |
applicationScope | java.util.Map | 取得Application范围的属性名称所对应的值 |
param | java.util.Map | 如同ServletRequest.getParameter(String name)。返回String类型的值 |
paramValues | java.util.Map | 如同ServletRequest.getParameterValues(String name)。返回String[]类型的值 |
header | java.util.Map | 如同ServletRequest.getHeader(String name)。返回String类型的值 |
headerValues | java.util.Map | 如同ServletRequest.getHeaders(String name)。返回String[]类型的值 |
cookie | java.util.Map | 如同HttpServletRequest.getCookies() |
initParam | java.util.Map | 如同ServletContext.getInitParameter(String name)。返回String类型的值 |
7、EL执行运算
(1)语法:${运算表达式}
(2)常见运算符:==(或eq) !=(或ne) <(或lt) >(或gt) <=(或le) >=(或ge) &&(或and) ||(或or) !(或not)
3)判断是否为空:${empty name }
若变量a为null,或长度为零的String,或size为零的集合则${empty a}返回结果为true
若${not empty a}或${!empty a}返回结果为false