The updated EL version 2.1.2 included in Java EE 6 offers support for parameters to method calls. Method calls can now use parameters (or arguments) without having to use static EL functions.
Both the . and [] operators can be used for invoking method calls with parameters as shown in expression syntax below:
expr-a[expr-b](parameters)
expr-a.identifier-b(parameters)
In the first expression syntax, expr-a is evaluated to represent a bean object. The expression expr-b is evaluated and cast to a string which represents a method in the bean represented by expr-a. In the second expression syntax, expr-a is evaluated to represent a bean object and identifier-b is a string that represents a method in the bean object. The parameters in parentheses are the arguments for the method invocation. Parameters can be 0 or more values or expressions, separated by commas.
Parameters are supported for both value expressions and method expressions. In the following example, which is a modified tag from guessNumber application, a random number is provided as an argument rather than from user input to the method call:
<h:inputText value="#{userNumberBean.userNumber('5')}">
The above example uses a value expression.
Consider the following example of a JavaServer Faces component tag which uses a method expression:
<h:commandButton action="#{trader.buy}" value="buy"/>
where EL expression trader.buy is calling the trader bean's buy method. You can modify the tag to pass on a parameter. Here is the revised tag where a parameter is passed:
<h:commandButton action="#{trader.buy('JAVA')}" value="buy"/>
In the above example you are passing the string 'JAVA' (a stock symbol) as a parameter to the buy method.
For more information on the updated EL, see https://uel.dev.java.net.