昨日は、ajax4jsf をざっと見てみたけど、リクエストをサーブレットフィルタでとって、レスポンスをラップして(Tomahawkのように・・・)、出力を書き換えたりしているのね。あとは、フェースリスナーでも何かやっているみたいだけど、そこまで細かくはチェックしてない。このレスポンスをラップしてという手法は、ポートレット的に致命的なのよね・・・。なぜなら、RenderResponse とかをラップすると、ClassCastException をくらうので、この手法は適用できない。というわけで、Tomahawkに対応するときには、RenderKit で ResponseWriter をラップするという技で切り抜けたけど。そういうわけで、現状、Tomahawk と ajax4jsf は MyFaces ブリッジで共存できない。これをやるためには、MyFaces ブリッジを発展させて、ポートレット用 JSF 遅延出力フレームワーク(?)みたいなのを作らんといかんのではなかろうか。まぁ、本来は、JSF でサーブレットフィルタを使って、出力を書き換えるようなことをするべきではないと思う今日この頃(ポートレット対応するのが面倒なので・・・)。
カテゴリー: PAL
MyFacesブリッジ
Liferayで動いたと、フィードバックを得た♪いいことだね~。そしたら、https://ajax4jsf.dev.java.net をサポートすんのか?と言う感じでコメントがあった。はて、ajax4jsf って、どんなんだろ?見てみないとわからんし、そもそもポートレットで動くのかどうかが一番の疑問だな・・・。
アドレス帳ポートレット 0.3 リリース
リリースしました。Jetspeed2, Liferay, JBoss Portal をサポートしています。ぜひ、ご利用ください。あとは、PALの英語ニュースサイトに書いて作業完了かな。