So übergeben Sie Parameter im Methodenausdruck - JSF 2.0

So übergeben Sie Parameter im Methodenausdruck - JSF 2.0

Seit JSF 2.0 können Sie Parameterwerte im Methodenausdruck wie "#\{bean.method(param)}" übergeben, aber diese Funktion löst auf dem Tomcat-Server ein "EL parsing error" aus. Zum Beispiel,

Managed Bean

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

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

JSF Seite

//...

//...

Bei der Bereitstellung auf Tomcat werden die folgenden Fehlermeldungen angezeigt:

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

or

javax.el.MethodNotFoundException

Lösung

Tatsächlich ist dieser so genannte "method expression parameters" ein Merkmal vonEL 2.2, dasNOT support in Tomcat by default ist.

Um diese Funktion nutzen zu können, müssen Sie "el-impl-2.2.jar" vonJava.net abrufen und in Ihren Projektabhängigkeitsordner legen.

Datei: pom.xml

     
      org.glassfish.web
      el-impl
      2.2
     

Fertig, Tomcat solltemethod expression parameters in JSF 2.0-Webanwendungen unterstützen können.