EL syntax
In this section, you can see an overview of the main aspects of EL 2.2 and 3.0 syntax. EL supports a handful of operators and reserved words. Each of these are quickly described in the following section (more details are in the EL specification document (http://download.oracle.com/otndocs/jcp/el-3_0-fr-eval-spec/index.html)).
EL operators
EL supports the following categories of operators—arithmetic, relational, logical, conditional, empty and added starting with EL 3.0, string concatenation, assignment and semicolon operators:
Textuals |
Description |
Symbols |
---|---|---|
A |
Addition |
|
A |
Subtraction |
|
A |
Multiplication |
|
A { |
Arithmetic operator division |
/, |
A { |
Arithmetic operator modulo |
|
A { |
Logical AND |
|
A { |
Logical OR |
|
{ |
Logical opposite |
|
A { |
Relational less than |
|
A { |
Relational greater than |
|
A { |
Relational less than or equal to |
|
A { |
Relational greater than or equal to |
|
A { |
Equal to |
|
A { |
Not equal to |
|
A |
Assignment (EL 3.0) |
|
A |
Semicolon (EL 3.0) |
|
A |
String concatenation (EL 3.0) |
|
A |
Lambda expression (EL 3.0) |
|
|
Determine whether a value is null or empty | |
A |
Evaluates B or C, depending on the result of the evaluation of A. Known as the ternary operator. |
?: |
Used when writing EL expressions |
| |
Used when writing EL expressions |
|
EL precedence of operators
Conforming to EL specification, the precedence of operators from the highest to lowest, left to right is as follows:
[].
()
(used to change the precedence of operators)-
(unary)not ! empty
* / div % mod
+
-
(binary)+=
< > <= >= lt gt le ge
== != eq ne
&& and
|| or
?
:
->
(lambda expression)=
;
EL reserved words
EL defines the following reserved words:
and
,or
,not
,eq
,ne
,lt
,gt
,le
,ge
,true
(Boolean literal),false
(Boolean literal),null
,instanceof
(a Java keyword to do a class comparison between objects),empty
,div
, andmod