[Seasar-user:16680] Re: [Teeda]"null"文字列を入力したらPageクラスで"null"(文字
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2009年 1月 15日 (木) 15:00:19 JST
小林 (koichik) です.
Date: Thu, 15 Jan 2009 11:40:20 +0900
From: <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:16677] Re: [Teeda]"null"文字列を入力したらPageクラスで"null"(文字
> こちらでソースを解析したところ、以下の理由から
> 今回の対応を行っても問題ないのかな、と考えています。
> もし他に懸念する問題があればご指摘をお願いいたします。
>
> (1)バインド値取得
> 最終フィルタに今回の対応を行った場合、バインド値取得部分では
> ラッパー(TestRequestWrapper)を使用することになる。
> (RESOTRE_VIEWのServletRequestParameterMapをnewする部分)
これは Teeda が使用する (JSF 仕様の) 外部
バインディングだけです.
JSF の外部バインディングは Seasar2 の外部
バインディングとは別物です.
> (2)外部バインディング
> 外部バインディングではs2filterに渡されたServletRequestを使用しているが、
> バインドする値はs2filterに渡されたServletRequestから取得した値ではなく、
> 「(1)で取得したバインド値」を使用している。
Seasar2 の外部バインディングに関しては,
(1) の ServletRequestParameterMap ではなく,
s2filter によって設定された HttpServletRequest を
ラップした ServletRequestParameterMap が
使われます.
先に書いたように,GET メソッドにおける
リクエストパラメータのバインディングは
Teeda ではなく Seasar2 によって行われます.
つまり,(1) の ServletRequestParameterMap は
使われません.
> #特に問題がなければ、最終フィルタ内でchain実行時に渡すServletRequestを
> #ラッパーに変更する、という案でいこうと思っています。
ポストバックに対応するだけでよければ
それでも構わないと思います.
--
<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 メーリングリストの案内