Using JSF EL Expressions
In Chapter 4, I introduced the JSP and the JSP 2.0 Expression Language (EL). JSP EL expressions are evaluated when the JSP page is processed—in other words, when the response is rendered.
JSF also supports an EL. Syntactically, the JSP 2.0 EL and the JSF EL are identical, but JSF may evaluate the EL expressions both when it processes input the user submitted (e.g., to update the application bean properties) and when it renders the response. This is the main difference between the JSF EL and the JSP EL.
Tip
To distinguish between a JSP EL expression and a JSF EL expression,
you must use different delimiters for each type: a JSP EL expression
is always written as
${
expression
}
,
while a JSF EL expression is written as
#{
expression
}
,
i.e., with a #{
as the start delimiter instead of
${
.None of the JSF custom action element
attributes accept a JSP EL expression, only a JSF EL expression.
To bind a component’s main value to a
property of a bean or an element of
another data structure, JSF uses a value binding
expression. A value binding expression is the part of a JSF EL
expression that evaluates to a bean property, a
java.util.List
or array element, or a
java.util.Map
entry. The entity a value binding
points to can be both read and written. In programming lingo, this
amounts to what’s often called an
rvalue (the right-hand side of an assignment
expression) for read access and an lvalue (the
left-hand side of an assignment expression) for write access.
Some components, ...
Get JavaServer Faces 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.