[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 メーリングリストの案内