EL表达式
1.什么是EL
Expression Lanaguage(表达式语言)
功能:替代JSP页面中的复杂代码
特点:自动转换类型、使用简单
2.EL表达式语法:
${EL exprission}
${变量名} 如: 姓名:${username}
3.变量属性范围名称
属性范围 EL中的名称
page pageScope,例如${pageScope.username},表示在page范围内查找username变量,找不到返回Null
request requestScope
session sessionScope
application applicationScope
4.获取对象的属性值
点操作符 ${user.name}
[ ]操作符 ${user["name"]}
5.获取集合List
<%
List names = new ArrayList();
names.add(0, "LiYang");
names.add(1,"WangHua");
request.setAttribute("names",names);
%>
姓名:${names[0]}<br/>
姓名:${names[1]}<br/>
6.获取集合Map
<%
Map names = new HashMap();
names.put("one","LiYang");
names.put("two","WangHua");
request.setAttribute("names",names);
%>
姓名:${names.one}<br/>
姓名:${names["two"] }<br/>
7.逻辑关系符
A.关系操作符
关系操作符 |
说明 |
示例 |
结果 |
==(或eq) |
等于 |
${23==5}或${23 eq 5} ${"a" =="a"}或${"a" eq "a"} |
false true |
!=(或ne) |
不等于 |
${23!=5}或${23 ne 5} |
true |
<(或lt) |
小于 |
${23<5}或${23 lt 5} |
false |
>(或gt) |
大于 |
${23>5}或${23 gt 5} |
true |
<=(或le) |
小于等于 |
${23<=5}或${23 le 5} |
false |
>=(或ge) |
大于等于 |
${23>=5}或${23 ge 5} |
B.逻辑操作符
逻辑操作符 |
说明 |
示例 |
结果 |
&&(或and) |
逻辑与 |
如果A为true,B为false,则A&&B(或A and B) |
false |
||(或or) |
逻辑或 |
如果A为true,B为false,则A||B(或A or B) |
true |
! (或not) |
逻辑非 |
如果A为true,则!A (或not A) |
C.Empty操作符
变量 a不存在, 则${empty a}返回的结果为true
${not empty a}或${!empty a}返回的结果为false
8.EL表达式中提供的隐式对象
作用域访问对象:pageScope、requestScope、sessionScope、applicationScope
参数访问对象:param、paramValues
JSP隐式对象:pageContext
9.EL隐式对象的介绍
对象名称 |
说 明 |
pageScope |
返回页面范围的变量名,这些名称已映射至相应的值 |
requestScope |
返回请求范围的变量名,这些名称已映射至相应的值 |
sessionScope |
返回会话范围的变量名,这些名称已映射至相应的值 |
applicationScope |
返回应用范围内的变量,并将变量名映射至相应的值 |
param |
返回客户端的请求参数的字符串值 |
paramValues |
返回映射至客户端的请求参数的一组值 |