EL中的运算符都有不同的运算优先级,表7.5列出了EL中的运算符的优先级,上一行运算符的优先级要高于后一行的优先级。对于同一行的运算符,按着运算符在表达式中出现的顺序从左到右依次计算。
表7.5 运算符的优先级
[] . |
() |
- (一元) not ! empty |
* / div % mod |
+ - (二元) |
< > <= >= lt gt le ge |
== != eq ne |
&& and |
|| or |
? : |
上面的运算符的优先级并不需要刻意去记。如果分不清运算符的优先级,可以直接使用圆括号来改变运算符的优先级。事实上,使用圆括号的EL表达式要使用圆括号的EL表达式更易读。