前言
: 用来替代<%= %>脚本表达式
EL
功能
: 获取数据 : 执行运算 : 获取常用开发对象 : 调用java
获取常量
获取数据 :${23} 获取字符串 :${“abcdefg”} 获取布尔值 :${"true"}
获取变量
${propName} : 在四个作用域中搜寻 propName 属性,输出该值到输出流中,搜索域的顺序为由小到大 (如果四大域中什么也搜索不到,则什么都不输出) ${pageScope/requestScope/sessionScope/applicationscope.propName} : 获取指定域中的属性 ${attr[0]} : 获取域中的数组的指定元素 ${list[0]} : 获取 list 中的指定位置元素 ${map.keyName} : 获取 map 中指定键的值 ${bean.propName} : 获取 javaBean 的属性,可以认为是调用了 javaBean 的 getxxx 方法。
简单运算
算数运算
所有参与运算的元素都会被转为数字, 如果不能转就报错,空元素参加运算当作没有参与 : ${1+1} ${"3"+5} ${1+"g"}
关系运算
== 也相当于 eq != 也相当于 ne < 也相当于 lt > 也相当于gt <= 也相当于 le >= 也相当于 le ${ 3 > 2} == ${3 gt 2}
逻辑运算
&& 或者 and || 或者 or ! 或者 not ${3>2 && 4>5}
Empty 运算符
:empty/not empty 判断对象是否为 null,判断集合是否为空,数组长度是否为0,判断字符串为空串,判断域中是否没有任何属性。
三元运算符
${name == null ? “张三” : name;}