私はMyFaces 2.1.9とPrimeFaces 3.5を使用しています。 <p:inputText>
のカスタムレンダラーを実装しました。これはTomcatで自宅でうまく動作します。しかし、これはWebsphereとの連携では機能しません。カスタムレンダラークラスにブレークポイントを配置しましたが、決してヒットしません。私は私のログにも何も見ない。しかし、標準のJSF <h:inputText>
に非常に同じカスタムレンダラーを登録すると、正常に動作します。PrimeFacesコンポーネントのカスタムレンダラは、Tomcatでは正常に動作しますが、Websphereでは動作しません。
faces-config.xml
に次のように私はそれを登録した:
<render-kit>
<renderer>
<component-family>org.primefaces.component</component-family>
<renderer-type>org.primefaces.component.InputTextRenderer</renderer-type>
<renderer-class>xxx.xxx.xxx.MyInputRenderer</renderer-class>
</renderer>
</render-kit>
にはどうすればカスタムレンダラの登録をトラブルシューティングすることができますか?
'RenderKit#addRenderer()'にブレークポイントを設定します。 – BalusC
ありがとう!今度はレンダラーが最初に処理された後、通常のレンダラーがaddREndererに入って上書きされることがわかりました。これをどうすれば解決できますか? – KTrum
さて、それは確かにそれを説明します。あなたの 'faces-config.xml'はどこですか? '/ WEB-INF/lib'のカスタムモジュールのJARファイルやwebappの'/WEB-INF'の中に直接ありますか? JARの場合、ロード順序は未定義です。 PrimeFacesの前にロードされている場合は、この問題が発生します。 – BalusC