Expression Language表达式语言,替代JSP页面中数据访问时的复杂编码,可以非常便捷地取出域对象(pageContext、request, session. application) 中保存的数据,前提是一-定要先 setAttribute, EL 就相当于在简化getAttribute
${变量名} 变量名就是setAttribute对应的key值。
1、EL 对于4种域对象的默认查找顺序:
pageContext > request > session > application
按照上述的顺序进行查找,找到立即返回,在application中也无法找到,则返回null
2.指定作用域进行查找
pageContext: ${pageScope.name}
request: ${requestScope.name}
session: ${sessionScope.name}
application: ${applicationScope.name}
数据级联:
<%
//pageContext. setAttribute(”name" ,"page" );
//request .setAttr ibute( "name", " request");
//session.setAttr ibute ("name", "session");
//application. setAttribute( "name",”application" );
User user = new User(1, “张三”,86.5,new Address(1, "小寨"));
System. out . println(user . toString());
pageContext . setAttribute("user ,user);
%>
<table>
<tr>
<th>编号</th>
<th>姓名</th>
<th>成绩</th>
<th>地址</th>
</tr>
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>$ {user.score}</td>
<td>$ {user.address}</td>
</tr>
</table>
注:上方加粗的部分调用的是getID,getName等的方法,而不是调用user对象里面的属性。
另一种写法:${user["id'"]}
EL执行表达式
例如:$ {num1&&num2}
符号:
&| !<><=<===
&& and II or !not == eq != ne < lt > gt <= le >= ge
empty(判断是否为空) 若符合:变量为null, 长度为0的String, size为0的集合,则返回true