Comment passer des paramètres dans une expression de méthode - JSF 2.0

Comment passer des paramètres dans l'expression de méthode - JSF 2.0

Depuis JSF 2.0, vous êtes autorisé à passer des valeurs de paramètre dans une expression de méthode comme «#\{bean.method(param)}», mais cette fonctionnalité déclenchera un «EL parsing error» sur le serveur Tomcat. Par exemple,

Bean géré

@ManagedBean(name="order")
@SessionScoped
public class OrderBean implements Serializable{

    public String editAction(String id) {
        //...
    }
}

Page JSF

//...

//...

S'il est déployé sur Tomcat, il affichera les messages d'erreur suivants:

An Error Occurred:
Error Parsing: #{order.editAction(123)}

or

javax.el.MethodNotFoundException

Solution

En fait, cet appel "method expression parameters" est une caractéristique deEL 2.2, qui estNOT support in Tomcat by default.

Pour utiliser cette fonctionnalité, vous devez obtenir «el-impl-2.2.jar» deJava.net et le mettre dans le dossier des dépendances de votre projet.

Fichier: pom.xml

     
      org.glassfish.web
      el-impl
      2.2
     

C'est fait, Tomcat devrait pouvoir prendre en chargemethod expression parameters dans l'application Web JSF 2.0.