JSF Expression Language(EL)

In this section, you will get a brief description about Expression Language of JSF.

JSF Expression Language(EL)

In this section, you will get a brief description about Expression Language of JSF.

JSF Expression Language(EL)

Expression Language(EL)

In this section, you will get a brief description about Expression Language of JSF.

Expression Language is used to access the JavaBeans component in the JSF web application.

Syntax of EL expression

The syntax of the EL expression is : # { expression }

It is similar to JSP expression language  but have following differences from it :

  • The syntax of both contains { }curly braces inside it expression resides. But JSP EL starts with $ and JSF EL starts with #.

  • The value binding methods of JSF don't support expression language methods of JSP.

Expression language Literals

The JSF EL supports following literals :

  • Boolean: true and false

  • Integer: as in Java

  • Floating point: as in Java

  • String: with single and double quotes; " is escaped as \", ' is escaped as \', and \ is escaped as \\.

  • Null: null 

Expression language Operators

The Operators supported by JSF EL with operators precedence , from left to right(highest to lowest), is given below :

  • []

  • () (changes precedence of operators)

  • - (unary) not ! empty

  • * / div % mod

  • + - (binary)

  • < > <= >= lt gt le ge

  • = = != eq ne

  • && and

  • || or

  • ? :

Expression language Examples

Some of Example of EL is given below :

JSF EL Expression Result
${1 > (4/2)} false
${4.0 >= 3} true
${100.0 == 100} true
${(10*10) ne 100} false
${?a? < ?b?} true
${?hip? gt ?hit?} false
${4 > 3} true
${1.2E4 + 1.4} 12001.4
${3 div 4} 0.75
${10 mod 4} 2
${!empty param.Add} False if the request parameter named Add is null or an
empty string.
${pageContext.request.contextPath} The context path
${sessionScope.cart.numberOfItems} The value of the numberOfItems property of the
session-scoped attribute named cart.
${param[?mycom.productId?]} The value of the request parameter named
mycom.productId.
${header["host"]} The host
${departments[deptName]} The value of the entry named deptName in the
departments map
${requestScope[?javax.servlet.forward.servlet_path?]} The value of the request-scoped attribute named
javax.servlet.forward.servlet_path
#{customer.lName} Gets the value of the property lName from the customer
bean during an initial request. Sets the value of lName
during a postback
#{customer.calcTotal} The return value of the method calcTotal of the
customer bean.