EL表达式
EL表达式概述
EL是JSP内置的表达式语言
JSP中的表达式: <%= %>
EL表达式是用来代替<%= %>
然而这个<% %>也有对应JSP内置标签/JSTL动作标签来代替,但是不能够完全代替
JSP2.0之后,不让在使用Java脚本,而是要求使用el表达式以及动作标签来替代Java脚本,我们清楚JSP的作用就是用来提交表单或者显示数据,那么既然用来显示数据,那么<%= %> 就显得特别重要,那么EL表达式就是用来取代<%= %>
EL的作用
JSP2.0要把html和css分离、要把html和javascript分离、要把Java脚本替换成标签。标签的好处是非Java人员都可以使用。
JSP2.0 - 纯标签页面,即:不包含<% … %>、<%! … %>,以及<%= … %>
EL(Expression Language)是一门表达式语言,它对应<%=…%>。我们知道在JSP中,表达式会被输出,所以EL表达式也会被输出。
EL的使用格式
格式:${…}
例如:${4 + 6}
关闭EL
如果希望整个JSP忽略EL表达式,需要在page指令中指定isELIgnored="true"。
如果希望忽略某个EL表达式,可以在EL表达式之前添加"",例如:${1 + 2}。
EL运算符
运算符 | 说明 | 范例 | 结果 |
---|---|---|---|
+ | 加 | ${17+5} | 22 |
- | 减 | ${17-5} | 12 |
* | 乘 | ${17*5} | 85 |
/ 或 div | 除 | ${17/5}或${17 div 5} | 3 |
% 或 mod | 取余 | ${17%5}或${17 mod 5} | 2 |
== 或 eq | 等于 | ${5==5}或${5 eq 5} | true |
!= 或 ne | 不等于 | ${5!=5}或${5 ne 5} | false |
< 或 lt | 小于 | ${3<5}或${3 lt 5} | true |
> 或 gt | 大于 | ${3>5}或${3 gt 5} | false |
<= 或 le | 小于等于 | ${3<=5}或${3 le 5} | true |
>= 或 ge | 大于等于 | ${3>=5}或${3 ge 5} | false |
&& 或 and | 并且 | ${true&&false}或${true and false} | false |
! 或 not | 非 | ${!true}或${not true} | false |
|| 或 or | 或者 | ${true||false}或${true or false} | true |
empty | 是否为空 | ${empty ""},可以判断字符串、数据、集合的长度是否为0,为0返回true。empty还可以与not或!一起使用。${not empty ""} | true |
EL表达式操作Java容器对象
- 操作List和数组:${list[0]}、${arr[0]};
- 操作bean的属性:${person.name}、${person['name']},对应person.getName()方法;
- 操作Map的值:${map.key}、${map['key']},对应map.get(key)。