EL的特点
自动转换类型,EL得到某个数据时可以自动转换类型
EL表达式语法
${EL exprission}
1.使用变量名获取值
<% request.setAttribute("username","Liyang"); %>
姓名: ${username}
2. 获取对象的属性值
点操作符
${user.name}
[]操作符
${user["name"]}
例:
<%
User user = (User)request.getAttribute("user");
out.print(user.getName());
%>
方式一:${requestScope.user.name}
方式二:${requestScope.user["name"]}
3.获取集合 - List
<%
List<String>names = new ArrayList<String>();
names.add(0, "LiYang");
names.add(1, "WangHua");
request.setAttribute("names",names);
%>
姓名: ${names[0]}<br/>
姓名: ${names[1]}<br/>
4.获取集合 - Map
<%
Map<String, String>names = new HashMap<String, String>();
names.put("one", "Liyang");
names.put("two", "wanghua");
request.setAttribute("names", name);
%>
姓名: ${name.one}<br/>
姓名: ${name["two"]}<br/>
关系操作符
关系运算符 | 说明 | 示例 | 结果 |
==(或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} | ture |
逻辑操作符
逻辑操作符 | 说明 | 示例 | 结果 |
&&(或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) | false |
变量属性范围名称
属性范围 | EL中的名称 |
page | pageScope,例如${pageScope.username},表示在page范围内查找username变量,找不到返回Null |
request | requstScope |
session | sessionScope |
application | applicationScope |