4

WAS 6.1 を使用して開発された古いエンタープライズ アプリケーションがあり、現在、私の会社は WAS 8 でそのアプリケーションの実装を実行しようとしています。しかし、JSF コンテンツのレンダリングに問題があります。 Uncaught ReferenceError: myfaces is not defined レンダリングされたHTMLです:

onclick="return myfaces.oam.submitForm('top_nav:frmTopNav','top_nav:frmTopNav:lnkCP',null,[['default_sort','name']]);"

古いアプリケーションと WAS 8 の間で JSF のバージョンが異なるため、うまくレンダリングされていないと思います。

MyFaces 1.1 と Tomahawk 1.1.7 をダウンロードし、それらを WEB-INF/lib フォルダーに配置することで、強制的に実行することにしました。java.lang.IllegalArgumentException - Class org.mything.LocaleViewHandler is no javax.faces.application.ViewHandler

なぜこれが起こっているのでしょうか?

前もって感謝します。

4

2 に答える 2

3

JavaServer Faces 実装の構成、WAS 8 インフォセンターからの引用

製品に同梱されていないサードパーティの JSF 実装を使用する場合は、次のようにします。

  • 構成を MyFaces に設定したままにします。
  • サードパーティのリスナーを必要な web.xml ファイルに追加します。
  • サードパーティ実装の Java アーカイブ (JAR) ファイルを分離共有ライブラリとしてアプリケーションに追加し、それをアプリケーションに関連付けます。

上記の参照ページでは、共有ライブラリの作成および共有ライブラリとアプリケーションまたはモジュールの関連付け に関する詳細を見つけることができます。

于 2012-07-13T23:28:55.790 に答える
0

PARENT_LASTクラスローディングを使用していることを確認してください。

そうしないと、独自の JSF 2.0 ライブラリが最初にロードされ、クラスがインターフェースと一致しなくなります。ただし、MyFaces 2.0 に更新できるかどうかを確認する必要があります。

于 2012-07-13T22:18:04.410 に答える