MyFacesブリッジ

コミット。たぶん、これで、変な JSF の実装をしてない限り、すべてのポータルで動くことを期待。結局、かなり、いろいろなことにチャレンジしたけど(3回くらい作り直した気が・・・)、最終的には、JSF のライフサイクルを差し替えて、そこで、ResponseWriterをFacesContextに入れるようにした。本当は、ResponseWriterのcloneWithWriterでResponseWriterを作成したかったんだけど、ライフサイクルのrenderのところでは、まだ、setされていないからTomahawkのHtmlResponseWriterImplをnewすることにした。他に ResponseWriterを差し替える、何か良い方法はないだろうか(詳しい方、お願いします~)・・・。実装的には、UIComponentTagのdoStartTagでResponseWriterがsetされていなければ、入れるようになっていたけど、それ以降で出力される前で差し替える良い場所はあるのだろうか・・・。

まぁ、細かい問題はあると思うけど、Liferayでも動いたから、ほかのでも動くだろう・・・。はぁ、時間がかかったな・・・。でも、いろいろと学んだ気がする。

コメントを残す

メールアドレスが公開されることはありません。