EL表达式的基本语法:
${expression}
(由于EL表达式语法以${开头,所以如果在jsp页面中要显示${的字符串,必须在前面加上\符号,即 \${,或者写成${'${'},也就是用表达式输出)
EL表达式的特点:
-在EL表达式中可以获取命名空间;
-EL表达式不仅可以访问一般变量,还可以访问javabean中的属性,以及嵌套属性的集合对象;
-在EL表达式中可以执行关系运算,逻辑运算,算术运算等;
-扩展函数可以与java类的静态方法进行映射;
-在EL表达式中可以访问jsp的作用域;
-EL可以与JSTL结合使用,也可以与javascript结合使用
EL表达式的取值范围:
page: pageScope ${pageScope.xx}
request: requestScope ${requestScope.xx}
session: sessionScope ${sessionScope.xx}
application: applicationScope ${applicationScope.xx}
EL表达式的运算符
存取运算符:
-数组元素的获取${xx[i]}
-集合元素的获取${xx[i]}
-Map元素的获取${xx['x']}
(El表达式无法像java一样使用+作为字符串连接符)
算数运算符:
+ - * (/或者div)(%或者mod)
关系运算符:
(==或者eq) (!=或者ne) (<或者lt) (>或者gt) (<=或者le) (>=ge)
(注意使用EL表达式时 不能够写成${xx}==${yy}而要写成${xx==yy})
逻辑运算符:
同java一样
&& (||或者or) (!=或者not)
empty运算符:
在EL表达式中有一个特殊的运算符,使用empty前缀,用来确定一个对象或者变量是否为空或者null
${empty expression}
${not empty expression}
条件运算符:
EL中的三元表达式
${expression ? expression : expression}
元算符的优先级与java一样
EL表达式中的隐含对象:
-pageContext 用来访问jsp内置对象
param 包含页面所有参数名跟对应值的集合
paramValues 包含页面所有参数名跟对应多个值得集合
header 包含每个header名和值得集合
headerValues 包含每个header名和可能的多个值得集合
cookie 包含每个cookie名跟值得集合
initParam 包含servlet上下文初始参数名跟对应值的集合