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