Operators and Literals
Operators
In addition to the . and [] operators, the expression language provides the following operators:
- Arithmetic: +, - (binary), *, / and div, % and mod, - (unary)
- Logical: and, &&, or, ||, not, !
- Relational: ==, eq, !=, ne, <, lt, >, gt, <=, le, >=, ge.
Comparisons can be made against other values, or against boolean, string, integer, or floating point literals. - Empty: The empty operator is a prefix operation that can be used to determine whether a value is null or empty.
- .after, .before, .equals: Date comparison operators.
The precedence of operators 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
? :
Some Examples:
Formula | Output |
---|---|
${5 + 3} | 8 |
${5 - 3} | 2 |
${5 / 3} | 1.67 |
${5 * 3} | 15 |
${5 % 3} | 2 |
${5 > 3} or ${5 gt 3} | Yes |
${5 >= 5} or ${5 >= 5} | Yes |
${5 < 3} or ${5 lt 3} | No |
${5 <= 5} or ${5 le 3} | Yes |
Literals
The JSP expression language defines the following literals:
Boolean: true and false. For example, ${entity.critical == true}, where entity is a task
String: with single and double quotes; " is escaped as \", ' is escaped as \', and \ is escaped as \\.
Null: null