[Seasar-user:21505] Re: 【SAStruts】セッションに設定したActionFormのページ単位の切り替えについて

Hideaki Numasawa [E-MAIL ADDRESS DELETED]
2012年 11月 26日 (月) 19:20:24 JST


ぬまさわです。

public class Test1Action {
    public TestForm testForm

    public String index() {
          return "/test2/index.html"
    }

}

public class Test2Action {
    public TestForm testForm

    public String index() {
          return "index.html"
    }

}

で /test1 にアクセスして /test2/index.html を表示してるきがするので Action の最小コードあげてみたらどうですか?

2012年11月26日 10:45 hikaru kondo <kondohikaru4seaser @ gmail.com>:

> 初めまして。近藤です。
>
> Dolteng-0.42.0 を用いてSAStruts + S2JDBC + Tilesで開発を行っております。
> SAStruts は、1.0.4です。
>
> 以下問題と現象です。
> 二つの画面があり、両方の画面共にアクションフォームをセッションに設定しています。
> 現在その二つの画面間をLink(get送信)で移動しています。
> その場合に、遷移先の画面を表示する際に、StrutsTagにて以下のエラーがおきます。
> ActionFormWrapper  xxxのプロパティに対するgetterメソッドがありません。
> 二回目以降(F5)は、エラーもなく表示されます。
>
> 調べたところ、CheckBoxTag:154行目にて、TagUtils.getInstance().lookup(pagecontext,
> name, property, null)
> としており、ここでエラーとなります。
>
> 実際は上記メソッドの内部で呼ばれる、TagUtils.lookup("org.apache.struts.taglib.html.BEAN")にて、ActionFormWrapper
> を取得しており、ActionFormWrapperは、取得できているのですが、ActionFormWrapperがラッピングしている
> Action,ActionFormは、今現在表示しようとしている画面のものではなく、前の画面のActionFormをみてしまっています。
> そのため、目的のFieldがないことにより、上記エラーが出てしまっています。
>
> 2回目以降(F5)にエラーがでないのは、TagUtils.lookup("org.apache.struts.taglib.html.BEAN")で返されるActionFormWrapper
> が正しい遷移先の画面の物を参照しているためです。
> 正しくSessionに格納しているActionFormを切り替えるためにはどうしたらよいのでしょうか。
>
>
> 以上、よろしくお願い致します。
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20121126/d1a25577/attachment.html>


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