使用EL,您可以直接实行一些算术运算、逻辑运算与关系运算,其使用就如同在一般常见的程序语言中之运算,您也可 以在安装好Tomcat之后,连接上http://localhost:8080/jsp-examples/找到一些EL运算的例子。
算术运算子有:加法 (+), 减法 (-), 乘法 (*), 除法 (/ or div) 与余除 (% or mod) 。下面是Tomcat中算术运算的一些例子:
表达式 |
结果 |
${1} |
1 |
${1 + 2} |
3 |
${1.2 + 2.3} |
3.5 |
${1.2E4 + 1.4} |
12001.4 |
${-4 - 2} |
-6 |
${21 * 2} |
42 |
${3/4} |
0.75 |
${3 div 4} |
0.75,除法 |
${3/0} |
Infinity |
${10%4} |
2 |
${10 mod 4} |
2,也是余除 |
${(1==2) ? 3 : 4} | 4 |
如同在Java语法一样 ( expression ? result1 : result2)是个三元运算,expression为true显示result1,false显示result2。
逻辑运算有:and、or、not。一些例子为:
表达式 |
结果 |
${true and false} |
false |
${true or false} |
true |
${not true} |
false |
关系运算有:小于Less-than (< or lt)、大于Greater-than (> or gt)、小于或等于Less-than-or-equal (<= or le)、大于或等于Greater-than-or-equal (>= or ge)、等于Equal (== or eq)、不等于Not Equal (!= or ne),由英文名称可以得到lt、gt等运算子之缩写词,以下是Tomcat的一些例子:
表达式 |
结果 |
${1 < 2} |
true |
${1 lt 2} |
true |
${1 > (4/2)} |
false |
${1 > (4/2)} |
false |
${4.0 >= 3} |
true |
${4.0 ge 3} |
true |
${4 <= 3} |
false |
${4 le 3} |
false |
${100.0 == 100} |
true |
${100.0 eq 100} |
true |
${(10*10) != 100} |
false |
${(10*10) ne 100} |
false |
左边是运算子的使用方式,右边的是运算结果,关系运算也可以用来比较字符或字符串,按字典顺序来决定比较结果,例如:
表达式 |
结果 |
${'a' < 'b'} |
true |
${'hip' > 'hit'} |
false |
${'4' > 3} |
true |
EL运算子的执行优先级与Java运算子对应,如果有疑虑的话,也可以使用括号()来自行决定先后顺序。
另外, . 与 [] 被用来作为存取EL中变量所参考之对象属性,在某些程度上,. 与 [] 是可以交换替代使用的,例如 ${ user.name }也可以写为 ${ user['name'] },然而建议将[]用于取得像Map之类的对象属性,例如如果有一个Map对象可以用user.get("name")这样的方法来取得值,则可以在EL 中使用[]来进行存取,另外数组值也可以使用[]来指定索引取得指定的元素值。