[Seasar-user:21820] [Teeda] Filterでのレスポンス内容加工について

HATTI [E-MAIL ADDRESS DELETED]
2014年 3月 12日 (水) 13:40:46 JST


お世話になっております。
hatti です。

表記の件、現在 Teeda (1.0.13-sp9) を用いた開発をしております。

まずやりたいことですが、クライアントに表示する前に
「レスポンス(html)内の全角数字を半角数字にする」などの共通後処理です。

Teeda 的にはコンバータを作成して、各 Page クラスのフィールドに
アノテーションをつけていくのが正しいのだと認識はしているのですが
システム全体の共通処理のため、最終的にフィルタで実装すればよいかな
という方針で進めていました。

そこで、クライアントにレスポンスを返す直前に Filter で
レスポンス内容を加工したいのですが、既に isCommitted が true の
状態のため書き換えることができませんでした。

その他、「javax<eclipse-javadoc:%E2%98%82=shohindb/src%5C/main%5C/webapp%5C/WEB-INF%5C/lib%5C/teeda-core-1.0.13-sp9.jar%3Cjavax>
.faces<eclipse-javadoc:%E2%98%82=shohindb/src%5C/main%5C/webapp%5C/WEB-INF%5C/lib%5C/teeda-core-1.0.13-sp9.jar%3Cjavax.faces>
.event<eclipse-javadoc:%E2%98%82=shohindb/src%5C/main%5C/webapp%5C/WEB-INF%5C/lib%5C/teeda-core-1.0.13-sp9.jar%3Cjavax.faces.event>
.PhaseListener」を実装したリスナーにより
「PhaseId.RENDER_RESPONSE」の #afterPhase() でも試してみましたが
こちらでも対応ができませんでした。
(リスナー時点では、レスポンス内容が文字列ではなくまだ「javax<eclipse-javadoc:%E2%98%82=shohindb/src%5C/main%5C/webapp%5C/WEB-INF%5C/lib%5C/teeda-core-1.0.13-sp9.jar%3Cjavax>
.faces<eclipse-javadoc:%E2%98%82=shohindb/src%5C/main%5C/webapp%5C/WEB-INF%5C/lib%5C/teeda-core-1.0.13-sp9.jar%3Cjavax.faces>
.component<eclipse-javadoc:%E2%98%82=shohindb/src%5C/main%5C/webapp%5C/WEB-INF%5C/lib%5C/teeda-core-1.0.13-sp9.jar%3Cjavax.faces.component>
.UIComponent」
で、かつ ValueBinding クラス内で保持しているJSF式(例:#{hoge})が評価されていない
という認識ですが大丈夫でしょうか?)

また、Teeda のソースファイルから dicon ファイルやfaces-config.xmlなどを参照し、
拡張ポイントを拡張することで改善できないか検討してみましたが
あまり時間もかけられないため判断つかず、当メーリングリストで質問させていただきました。

長くなりましたが、お聞きしたいのは上記対応方法がそもそも間違っている、
こうしたらできるよ、などご教示いただけると大変助かります。
また、既存システムの改修のため、純粋な Teeda の環境ではないので
上記方法でも、本来の純粋な Teeda ならいけるよ、などの情報でもありがたいです。

以上、よろしくお願いいたします。
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20140312/d26ac7eb/attachment.html>


Seasar-user メーリングリストの案内