Operators"
From Documentation
m |
|||
Line 1: | Line 1: | ||
{{ZUMLReferencePageHeader}} | {{ZUMLReferencePageHeader}} | ||
− | EL expressions provide the following operators: | + | EL expressions provide the following operators<ref>The information is from [http://download.oracle.com/javaee/1.4/tutorial/doc/JSPIntro7.html JSP Tutorial].</ref>: |
{| border='1px' | {| border='1px' | ||
− | ! Type !! Description | + | ! Type !! Operators !! Description |
|- | |- | ||
| Arithmetic | | Arithmetic | ||
| +, -<ref>binary</ref>, *, /, div, %, mod, -<ref>unary</ref> | | +, -<ref>binary</ref>, *, /, div, %, mod, -<ref>unary</ref> | ||
+ | | | ||
+ | * / and div are the same, while % and mod are the same. | ||
|- | |- | ||
| Logical | | Logical | ||
− | | and, <nowiki>&&</nowiki>, or, <nowiki>||</nowiki>, not, !, empty | + | | and, <nowiki>&&</nowiki>, or, <nowiki>||</nowiki>, not, !, empty |
+ | | | ||
+ | * The empty operator is a prefix operation that can be used to determine whether a value is null or empty, such as ${empty foo}. | ||
|- | |- | ||
− | | Relational | + | | Relational |
| ==, eq, !=, ne, <, lt, >, gt, <=, ge, >=, le | | ==, eq, !=, ne, <, lt, >, gt, <=, ge, >=, le | ||
+ | | | ||
+ | * Comparisons can be made against other values, or against boolean, string, integer, or floating point literals. | ||
|- | |- | ||
| Conditional | | Conditional | ||
− | | A ? B : C | + | | A ? B : C |
+ | | It evaluate B or C, depending on the result of the evaluation of A. | ||
+ | |- | ||
+ | | Index | ||
+ | | [] | ||
+ | | | ||
+ | To evaluate expr-a[expr-b], evaluate expr-a into value-a and evaluate expr-b into value-b. If either value-a or value-b is null, return null. | ||
+ | |||
+ | * If value-a is a Map, return value-a.get(value-b). If !value-a.containsKey(value-b), then return null. | ||
+ | * If value-a is a List or array, coerce value-b to int and return value-a.get(value-b) or Array.get(value-a, value-b), as appropriate. If the coercion couldn't be performed, an error is returned. If the get call returns an IndexOutOfBoundsException, null is returned. If the get call returns another exception, an error is returned. | ||
+ | * If value-a is a JavaBeans object, coerce value-b to String. If value-b is a readable property of value-a, then return the result of a get call. If the get method throws an exception, an error is returned. | ||
+ | |- | ||
+ | | Member | ||
+ | | . | ||
+ | | | ||
+ | * Properties of variables are accessed using the . operator and can be nested arbitrarily. | ||
|} | |} | ||
<blockquote> | <blockquote> | ||
Line 26: | Line 47: | ||
* [] . | * [] . | ||
− | * () | + | * ()<ref>Used to change the precedence of operators.</ref> |
− | * - | + | * - <ref>unary</ref> not ! empty |
* * / div % mod | * * / div % mod | ||
− | * + - | + | * + - <ref>binary</ref> |
* < > <= >= lt gt le ge | * < > <= >= lt gt le ge | ||
* == != eq ne | * == != eq ne | ||
Line 35: | Line 56: | ||
* || or | * || or | ||
* ? : | * ? : | ||
+ | |||
+ | <blockquote> | ||
+ | ---- | ||
+ | <references/> | ||
+ | </blockquote> | ||
=Version History= | =Version History= |
Revision as of 02:44, 25 November 2010
EL expressions provide the following operators[1]:
Type | Operators | Description |
---|---|---|
Arithmetic | +, -[2], *, /, div, %, mod, -[3] |
|
Logical | and, &&, or, ||, not, !, empty |
|
Relational | ==, eq, !=, ne, <, lt, >, gt, <=, ge, >=, le |
|
Conditional | A ? B : C | It evaluate B or C, depending on the result of the evaluation of A. |
Index | [] |
To evaluate expr-a[expr-b], evaluate expr-a into value-a and evaluate expr-b into value-b. If either value-a or value-b is null, return null.
|
Member | . |
|
- ↑ The information is from JSP Tutorial.
- ↑ binary
- ↑ unary
The precedence of operators highest to lowest, left to right is as follows:
- [] .
- ()[1]
- - [2] not ! empty
- * / div % mod
- + - [3]
- < > <= >= lt gt le ge
- == != eq ne
- && and
- || or
- ? :
Version History
Version | Date | Content |
---|---|---|