[Seasar-user:12223] Re: [S2Struts]Actionクラスへのバインディングについて
Yuasa Takahiro
[E-MAIL ADDRESS DELETED]
2007年 12月 20日 (木) 11:53:24 JST
中村様
湯浅です。
お世話になっております。
返事が遅くなってしまい、誠に申し訳ございません。
> 1.3.0-RC3のSNAPSHOTを作成しました。
> これで問題ないか試していただけないでしょうか?
早速のご対応、誠にありがとうございます。
> [STRUTS-58] - パラメータよりもリクエストの値を優先してActionの
> プロパティにバインディングするようにしました。
が適用され、正しく動作することを確認いたしました。
ただ、バインドの優先順位が
1.HttpServletRequest#getAttribute()
2.HttpServletRequest#getParameter()
3.HttpSession#getAttribute()
なので、Sessionのデータをバインドしたい場合は、依然として
パラメータが勝ってしまいますね。
-> これについてはSessionデータの管理をS2コンテナに任せる
(Sessionに載せるDTOに@Componenent(instance=InstanceType.SESSION)と指定する)
ことで、S2Strutsによるバインドの前にコンテナによるDIが実行されるため、解決できました。
(DTOはString型でないため、パラメータで上書かれることもありませんし。)
また、
> S2Containerの@Bindingアノテーションのように、
> S2StrutsによるActionのプロパティへのバインディングの有効/無効
> の制御が出来る仕組みがあると、何かと便利かと思います。
の件ですが、よくよく考えてみると、バインディングの有効/無効だけでなく、
もっと細かな条件(例えば、どのスコープからバインドするか等々)まで指定
できないとイマイチ使いどころがないと分かりました。
これだと複雑すぎるので、上記の依頼につきましては撤回いたします。
以上です。
ありがとうございました。
--
Yuasa Takahiro
Seasar-user メーリングリストの案内