メソッド式のパラメータを渡す方法 - JSF 2.0

メソッド式でパラメーターを渡す方法– JSF 2.0

JSF 2.0以降、「#\{bean.method(param)}」のようなメソッド式でパラメータ値を渡すことができますが、この機能により、Tomcatサーバーで「EL parsing error」が発生します。 例えば、

マネージドBean

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

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

JSFページ

//...

//...

Tomcatにデプロイすると、次のエラーメッセージがヒットします。

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

or

javax.el.MethodNotFoundException

溶液

実際、これをいわゆる「method expression parameters」はEL 2.2の機能であり、NOT support in Tomcat by defaultです。

この機能を使用するには、Java.netから「el-impl-2.2.jar」を取得し、プロジェクトの依存関係フォルダーに配置する必要があります。

ファイル:pom.xml

     
      org.glassfish.web
      el-impl
      2.2
     

これで、TomcatはJSF 2.0 Webアプリケーションでmethod expression parametersをサポートできるようになります。