A key design decision the developers of EL came up with is to handle null values without throwing exceptions. Why? Because they figured “it’s better to show a partial, incomplete page than to show the user an error page.”
Assume that there is not an attribute named “foo”, but there IS an attribute named “bar”, but that “bar” does not have a property or key named “foo”.
EL | What prints |
| NoteNothing prints out for these expressions. If you say “The value is: ${foo}.” You’ll just see “The value is.” |
| |
| |
| |
| 7 |
| Infinity |
| 7 |
| Exception is thrown |
| false |
| false |
| true |
| true |
| false |
| true |
| true |
In arithmetic expressions, EL treats the unknown variable as “zero”.
In logical expressions, EL treats the unknown variable as “false”.
EL is null-friendly. It handles unknown or null values so that the page still displays, even if it can’t find an attribute/property/key with the name in the expression.
In arithmetic, EL treats the null value as “zero”.
In logical expressions, EL treats the null value as “false”.
No credit card required