一、EL表达式的作用:
1)、使用变量访问web域中存储的对象 ${user }
2)、访问javabean的属性 ${user.address.city }
3)、执行基本的逻辑运算(el表达式避免了空指针异常)
4)、 调用 el 函数
二、EL表达式的使用
1、语法结构:
${expression}
2、[ ]与.运算符:
EL 提供“.“和“[ ]“两种运算符来存取数据。当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用“[ ]“。例如:
${ user. My-Name}应当改为${user["My-Name"]}
如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:——${sessionScope.user[data]}中data 是一个变量
3、变量:
EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。
1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 8 <html> 9 <head> 10 </head> 11 <body> 12 The book name is ${bookName} ;<br> 13 <!-- el表达式执行基本的逻辑运算 --> 14 ${1+2 }<br/> 15 ${5 < 7 }<br/> 16 ${5<7 && 4 >6 }<br/> 17 ${5<7 || 4 >6 }<br/> 18 <!-- 获取数组 --> 19 ${arr[0] }<br/> 20 ${arr[1] }<br/> 21 ${arr[2] }<br/> 22 ${arr[3] }<br/> 23 ${arr[5] }<br/> 24 ${list[0]}<br> <!-- list集合可以用下标读出来 --> 25 <!-- 获取数组 --> 26 ${list[1]}<br> 27 ${list[2]}<br> 28 ${list[3]}<br> 29 ${list[4]}<br> 30 ${list[5]}<br> 31 <!-- 获取Map --> 32 ${map["key1"] } == ${map.key1 }<br/> 33 ${map.key2 }<br/> 34 </body> 35 </html>