功能: 替代页面上的代码
1.使用EL内置对象,获得数据
EL的内置对象如下:
1.requestScope
2.sessionScope
3.applicationScope
4.pageScope
//--------------通过以上4个内置对象可以对4大域进行访问
//--------------下面的内置对象用处不大,
5.param
6.paramValues 这两个对象封装了表单参数
7.header
8.headerValues 这两个对象封装了HTTP请求头
9.initParam 封装了web.xml中 配置
10.pageContex 封装了 9大内置对象中的 pageContext
11.cookie 封装了cookie信息
2.使用EL表达式可以获取JAVABEAN属性 集合项的值.
<%--使用EL访问User对象 --%>
<%
User u = new User();
u.setName("tom");
request.setAttribute("user", u);
%>
${requestScope.user.name}==><%((User)request.getAttribute("user")).getName(); %><br>
${requestScope.user['name']}==><%((User)request.getAttribute("user")).getName(); %><br>
<% 使用EL访问数组
String[] array = new String[]{"tom","jerry","jack","rose"};
request.setAttribute("array", array);
%>
${requestScope.array[2]} <br>
<%
使用EL访问List
List<String> list = new ArrayList<String>();
list.add("jack");
list.add("rose");
request.setAttribute("list", list);
%>
${requestScope.list[1]}<br>
<%
使用EL访问Map
Map<String,String> map = new HashMap<String,String>();
map.put("birthday", "now");
map.put("haha.heihei", "hiahia");
request.setAttribute("map", map);
%>
${requestScope.map.birthday}<br>
${requestScope.map['birthday']}<br>
${requestScope.map['haha.heihei']}<br>
3.使用EL可以进行逻辑运算
<%
request.setAttribute("num1", 10);
request.setAttribute("num2", 20);
//EL表达式支持如下运算符.
%>
${num1 > num2} ==>${num1 gt num2}<br>
${num1 < num2} ==>${num1 lt num2}<br>
${num1 <= num2}==>${num1 le num2} <br>
${num1 >= num2}==>${num1 ge num2} <br>
${num1 == num2}==>${num1 eq num2} <br>
${num1 != num2}==>${num1 ne num2} <br>
${true && true}<br>
${true || true}<br>
${!true}<br>
${(num1 > num2)?"num1厉害":"老2厉害" }