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.