やっぱり勘違い

自分の勘違いだったらしく…。
ModelDrivenはそもそもView→ActionへのパラメータバインディングをModelで渡してくれるだけだったぽい。
(うまくいかないて言っていたのは「受け取ったModelを変更して画面に返しても反映されていなかった」ってこと)
調べてわかったことはValueStackてのがキモだったと。
ModelDrivenInterceptorでインターセプトされたときリクエストされているActionがModelDrivenをimplementsしていると、ValueStackの上位にModelが追加。
パラメータがバインディングされるときにはStackの上位の物に格納されていくらしい。
そんなわけで、昨日つくってみたサンプルの動作で正しかったわけ。
ちなみに格納した結果を次の画面で表示できないのは、ModelDrivenがリクエストスコープ(?)なんで反映されないと。
反映させたい場合にはScopedModelDrivenをimplementsすればいいぽい。
ソースみてみると、Scopeで設定できるのってsessionだけみたい。
それ以外をキーにしてもActionContextの範囲のみ生きてるぽいからModelDrivenと同様の扱い?


Struts2ていうよりXWork2調べたほうが早いね…。