[Seasar-user:7092] Re: [Seasar2+S2Struts]Form のスコープがリクエストの場合にIllegalPropertyRuntimeException
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2007年 4月 6日 (金) 20:19:48 JST
小林さん
お世話になっております。田村です。
早々のご返信、ありがとうございます。
> <component name="sv0101d01Form" class="xxx.Sv0101d01Form"
instance="request"/>
>
> のようになっているのに,実際に HttpRequest に
> sv0101d01Form という名前で設定されているのは
> Sv0101d01Form ではなく BeanValidatorForm で,
> それは Sv0101d01Form に代入可能ではない,
> ということでしょうか?
だいたいそういうことなのだろうと思っております。
> 解決するにはコンポーネント定義と HttpRequest が
> もし矛盾しているならそれを解消してもらわないと
> いけないと思うのですが,これは S2Struts では
> そうなってしまうのでしょうか?
私の認識が間違っている可能性も高いのですが、POJOFormではなく
BeanValidatorFormでラップしている場合は、bindAutoを素通りし、
改めてS2Struts側でFormとActionをマッピングしているようです。
S2Struts1.2.xではAcceptor、1.3.xではPojoProcessActionという
クラスがそれに当たると思っています。
試しにFormの時だけbindAutoを通らないようにしてみたところ、
ActionにFormがセットされ、以前と同様の遷移を確認しました。
> Form がセッションであってもコンポーネント定義と
> HttpSession の内容が矛盾していれば同じ現象に
> なると思うのですが,なぜ通るのか不思議です.
これについては私の言葉が足りませんでした。
単純に、セッションの場合はPOJOFormのまま入っていたので、
通常通りのS2のやり方で上手くできたと言うだけです。
私自身知識不足で、そうすれば動くというだけの認識です。
内部的に見て一般的な動作となると自信がありません。
間違ったことを言っている場合もあるかもしれませんが、
何卒よろしくお願い致します。
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20070406/87d0ad1d/attachment.html
Seasar-user メーリングリストの案内