[Seasar-user:17261] Re: [SAStruts]@Execute(removeActionForm=true) の場合の挙動

Yasuo Higa [E-MAIL ADDRESS DELETED]
2009年 4月 17日 (金) 10:15:27 JST


ひがです。

> 加納です
> 
> Action の親メソッドの件、対応ありがとうございます。
> もう一点希望がありますので検討頂けないでしょうか。
> 
> >From を InstanceType.SESSION にしている場合に、
> Actionの表示だけを行うようなメソッドで、以下のような場合
> 
> @Execute(urlPattern = "show/{id}",
>          removeActionForm = true,
>          validator = false)
> public String show() {
>   ....
>   return "show.jsp";
> }
> 
> 現状、JSPからはFromがどのスコープにも残っていないためにアクセス
> できません。
> 
> 表示だけしたいのでセッションには残したくない、
> (その後で呼ばれる可能性のある Execute メソッドに渡したくない)
> のですが、JSPには渡したい。
> 
POJOのActionFormをWrapしたActionFormWrapperは
リクエストに残っているので、revmoeActionForm=trueをやめて、

セッションから、直接POJOのActionFormをremoveすればOKです。

@Resource
protected Map<String, Object> sessionScope;

@Execute(...)
public String show() {
    sessionScope.remove("ActionForm名");
    ...
}

ActionForm名は、@ActionFormがついているフィールド名です。


Seasar-user メーリングリストの案内