And a few other EL operators...
You probably won’t (and shouldn’t) do calculations and logic from EL. Remember, a JSP is the View, and the View’s job is to render the response, not to make Big Important Decisions or do Big Processing. If you need real functionality, that’s normally the job of the Controller and Model. For lesser functionality, you’ve got custom tags (including the JSTL tags) and EL functions.
But... for little things, sometimes a little arithmetic or a simple boolean test might come in handy. So, with that perspective, here’s a look at the most useful EL artithmetic, relational, and logical operators.
Arithmetic (5)
Addition: | + |
Subtraction: | - |
Multiplication: | * |
Division: | / and div |
Remainder: | % and mod |
Note
By the way... you CAN divide by zero in EL—you get INFINITY, not an error.
Note
But you CANNOT use the Remainder operator against a zero—you’ll get an exception.
Logical (3)
AND: | && and and |
OR: | || and or |
NOT: | ! and not |
Watch it!
Don’t use EL reserved words as identifiers!
You can already see 11 of them on this page—the alternate “words” for the relational, logical and some arithmetic operators. But there are a few more:
true | a boolean literal |
false | the OTHER boolean literal |
null | It means... null |
instanceof | (this is reserved for “the future”) |
empty | an operator to see if something is null or empty (eg. ${empty A}) returns true if A is null or empty (you’ll see this in action a little later in the chapter) |
Relational (6)
Equals: | == and eq |
Not equals: | != and ne |
Less than: | < and lt |
Greater than: | > and gt |
Less than ... |
Get Head First Servlets and JSP, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.