[Seasar-user:16939] Re: [S2Click] s2container 2.4.34での文字コード指定
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2009年 2月 18日 (水) 00:00:24 JST
小林 (koichik) です.
Date: Tue, 17 Feb 2009 22:25:01 +0900
From: Naoki Takezoe <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:16938] Re: [S2Click] s2container 2.4.34での文字コード指定
> EncodingFilterを一番外側で適用するとちゃんと
> setCharacterEncoding()が効いているようなので、
> S2側のフィルタのどこかでリクエストパラメータに
> 触っているのではないかと思います。
>
> という仮説にもとづきCONTAINER-334の差分を
> チェックしてみましたが、S2ContainerFilterを通った
> タイミングでリクエストパラメータに触るよう変更されて
> いるのが原因ではないかと思います。
たしかに S2ContainerFilter が外部コンテキストに
HttpServletRequest を設定するタイミングで
HttpServletRequest#getParameterMap() を
呼び出すようになりました.
2.4.33 以前は,実際にリクエストパラメータが
必要になった時点で毎回 getParameterNames() を
呼び出していました.
タイミングの変更より,getParameterNames() を
getParameterMap() に変更した影響が大きいかも
しれません.
これは S2 に含まれる Mock と組み合わせる
都合による変更なのですが,失敗だったかなぁ...
> なお、S2ClickではClick側(サーブレット)で
> Clickの設定ファイルに設定された文字コードを
> setCharacterEncoding()しているので、これまでは
> EncodingFilterを使う必要がありませんでした。
それだと,requestDumpFilter のようなものが
あるだけでも影響を受けたということでしょうか?
> Seasar的には標準添付のEncodingFilterを
> 使用するのが正攻法だと思うので、
> これはS2Click側の問題といえます。
>
> そのため、個人的にはCONTAINER-334の修正は
> 問題ないのではと思います。
了解しました.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内