4

WAS7 で実行されている JSF 1.2 プロジェクトを、Myfaces 2.1.7 と Primefaces を使用して JSF2 に移行しています。

これまでは、myfaces-bundle-2.1.7.jar と primefaces 3.3.RC1.jar を WEB-INF/lib に配置し、クラスロードの順序に変更して、すべてが多かれ少なかれ機能していました。

今、私は EL2.2 を動作させようとしています: 対応するクラスは Myfaces Impl クラスの一部ですか (myfaces-bundle-2.1.7.jar にありますが、どの特定の構成を使用していますか?)、または特定のライブラリを見逃していましたか? /WEB-INF/lib に追加するには?

私を読んでくれてありがとう;)

4

1 に答える 1

6

EL2.2はJSF2.0の一部ではありません。これはサーブレット3.0の一部であり、これはJava EE 6の一部です。しかし、WebSphere7はJavaEE 5コンテナーであり、JavaEE6コンテナーではありません。JSF2.0はJavaEE6の一部ですが、サーブレット2.5 / Java EE 5との下位互換性があり、おそらく混乱の原因となっています。

前述のように、WebSphere7はサーブレット2.5コンテナーであるため、EL 2.2には付属していませんが、EL2.1には付属しています。最善の策は、EL 2.2と同じ拡張機能(引数を使用したメソッドの呼び出し)をサポートするEL2.1実装をインストールすることです。JBossELの1つだけがあります。これをインストールするには、jboss-el.jarをwebappにドロップ/WEB-INF/libし、次のコンテキストパラメータをに追加して、web.xml代わりにMyFacesに使用するように指示します。

<context-param>     
    <param-name>org.apache.myfaces.EXPRESSION_FACTORY</param-name>
    <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>   
</context-param>
于 2012-06-05T23:42:20.317 に答える