上一篇聊了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这个方法,就算没有也会有其它的代替方式,所以这个在el中记住使用即可。
empty运算可以判断一个数据是否为空,如果为空,输出是true不为空输出false。
格式:
${empty 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?"老子是正确的":"老子是错误的"}
