Previous Section  < Day Day Up >  Next Section

B.1 Syntax

A JSF EL expression starts with the #{ delimiter (a hash mark plus a left curly brace) and ends with } (a right curly brace):


When used in an attribute value for a standard JSF custom action, any number of EL expressions and static text parts can be combined. Such an expression is read-only, with the evaluation result of each expression converted to a String and then concatenated with the text parts:

<h:outputText value="The result of 1 + 2 + 3 is #{1 + 2 + 3}" />

The language is case-sensitive. All keywords are in lowercase, and identifiers must be written with correct capitalization.

B.1.1 Literals

Literals represent strings, numbers, Boolean values, and the null value.

Literal type



Enclosed with single or double quotes. A quote of the same type within the string must be escaped with backslash: \' in a string enclosed with single quotes, \" in a string enclosed with double quotes. The backslash character must be escaped as \\ in both cases.


An optional sign (+ or -) followed by digits between 0 and 9.

Floating point

The same as an Integer literal, except that a dot is used as the separator for the fractional part and that an exponent can be specified as e or E followed by an Integer literal.


true or false



B.1.2 Keywords and Reserved Words

The following words are keywords or reserved for potential use in a future version:

and or not eq ne lt gt le ge true false null instanceof empty div mod

They can't be used as property names or variable names, unless they are quoted.

    Previous Section  < Day Day Up >  Next Section