s:actionによる呼び出し
Struts2で他のアクションを s:action で呼び出した場合、呼び出されたアクション側で元のValueStackは参照できるが、名前付き変数は参照できないようだ。
名前付き変数とは
<s:set name="namedParam" value="'test'"/>
などとして名前をつけた変数の事を指している。
では渡したい場合はどうするか?普通にValueStackで参照できるようにするか、または次のようにして渡すことが出来た。
呼び出し側では次のようにリクエストの属性に保存
<s:set name="" value="#request.namedParam='test'"/>
呼ばれたアクション側のJSPでは次のように参照できる。
<s:property value="%{ #request.namedParam }"/>
これはリクエストの属性を介してデータを渡したイメージで、セッションなどの消費は無い。
ちょっとTIPS: #request.namedParam は #request['namedParam'] と同じ
ちょっとTIPS2: もちろん、actionのparamとして指定してもパラメータを渡すことが出来る