上一篇聊了EL表达式中的域名搜索以及隐藏的作用域等,而本篇就继续聊一些EL表达式中的其它用法。
本篇就是聊一些运算符,其实聊运算符就是聊如何使用。不说好像缺点什么,说吧又似乎每个编程语言都差不多运算模式。
算数运算
算数运算符 | 说明 | 范例 |
---|---|---|
+ | 加法 | ${ 1+2 } |
- | 减法 | ${ 2 -1 } |
* | 乘法 | ${ 2 * 1 } |
/ 或 div | 除法 | ${ 2/1 } ${ 2 div 1 } |
% 或 mod | 取模或者说是得到余数 | ${ 3%2 } ${ 3 mod 2 } |
关系运算符
这个就是会返回ture或者false的。
关系运算符 | 说明 | 范例 |
---|---|---|
== 或 eq | 等于 | ${ 1==1 } ${ 1 eq 1} |
!= 或 ne | 不等于 | ${ 1!=2 } ${ 1 ne 2} |
< 或 lt | 小于 | ${ 1<2 } ${ 1 lt 2} |
> 或 gt | 大于 | ${ 2>1 } ${ 2 gt 1} |
< = 或 le | 小于等于 | ${ 1<=2 } ${ 1 le 2} |
> = 或 g3 | 大于等于 | ${ 2>=1 } ${ 2 ge 1} |
具体如何呈现,其实毕竟后面也是举例了。
逻辑运算符
关系运算符 | 说明 | 范例 |
---|---|---|
&& 或 and | 与运算 | ${ 1==1 && 1<2 } ${1==1 and 1<2} |
|| 或者 or | 或运算 | ${ 1==1 || 1<2 } ${1==1 or 1<2} |
! 或 not | 取反运算 | ${ ! false} ${ not false} |
empty 运算
有些编程语言有empty这个方法,就算没有也会有其它的代替方式,所以这个在el中记住使用即可。
empty运算可以判断一个数据是否为空,如果为空,输出是true不为空输出false。
格式:
${empty data }
- data: 就是需要判断的数据。
当然不同的空也是不同的定义的的:
-
值为null值的时候为空。
-
值为空字符串的时候为空
-
值为Object类型的数组,长度为零的时候为空。
这个需要演示一些,不然会蒙:
<% int[] a= {1,2,3,4}; int[] b={}; Integer[] c={}; request.setAttribute("a",a); request.setAttribute("b",b); request.setAttribute("c",c); %> =${empty a} =${empty b} =${empty c}
-
list集合,元素个数为零的时候为空
-
map集合,元素个数为零的时候为空。
三元运算符
这个其实在Java中更可以实现,自然在jsp的EL中也可以实现,毕竟jsp本身就是Java。
其格式:
判断条件?true的返回1 : false的返回2
演示:
${1==1?"老子是正确的":"老子是错误的"}