[mayaa-user:729] Re: XML宣言をオミットしたい
cynipe
[E-MAIL ADDRESS DELETED]
2008年 12月 20日 (土) 13:36:25 JST
cynipeです。
以前作ったソースが手元にないのでまたざっとになってしまいますが、
HttpServletResponseWrapperを継承する形で出力するレスポンス内容をバッファするラッパーを作成すればよいかと思います。
使う側のdoFilter内は下記のような形のイメージで、
//出力するレスポンス内容をバッファするラッパー
ResponseWrapper responseWrapper = new ResponseWrapper(res);
//一連の処理をラッパを使って行わせる
chain.doFilter(req, responseWrapper);
//処理が終了したラッパをフラッシュしてバッファに書き出す
responseWrapper.flushBuffer();
//ここでラッパから出来上がったHTMLソースを引き出す
String responseTxt new String(responseWrapper.getBuffer());
// XML宣言を抜き取る処理を行う
String result = ...;
// 元のレスポンスから取り出したOutputStreamで実際に書き出し。
ServletOutputStream sos = res.getOutputStream();
sos.write(result);
sos.flush();
以上、よろしくお願いします。
2008/12/19 23:37 黒瀬健二 <[E-MAIL ADDRESS DELETED]>:
> 黒瀬です。
>
>
> おっしゃることは十分理解しているのですが
>
>> ツꀀ* doFilter内部でServletResponseからHTMLを取り出す
>
> の部分で、mayaaが出力ストリームに書き込んだデータを
> どうやって取得するかわかっていない状況です。
> (mayaaと直接関係ないので恐縮ですが)ServletResponseから
> 入力ストリームが得られないので、HTMLが取得できないような
> 気がするのですが。。。
> 場違いな質問をしていましたら、すいません。
> _______________________________________________
> mayaa-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/mayaa-user
>
--
cynipe (さいないぷとよむ)
mayaa-user メーリングリストの案内