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

hikaru kondo [E-MAIL ADDRESS DELETED]
2012年 11月 27日 (火) 10:47:50 JST


ひがさん

近藤です。
了解しました。ありがとうございました。

以上、宜しくお願いします。

2012年11月27日 9:13 YASUO HIGA <higa @ isid.co.jp>:

> ひがです。
>
> action属性を指定しなかったときの動きは、Strutsの動きそのものじゃないかと思います。
> 動いている方法が正だということで。
> ________________________________________
> 差出人: seasar-user-bounces @ ml.seasar.org [seasar-user-bounces @ ml.seasar.org]
> が次の人の代理で送信しました: hikaru kondo [kondohikaru4seaser @ gmail.com]
> 送信日時: 2012年11月26日 19:25
> 宛先: seasar-user @ ml.seasar.org
> 件名: [Seasar-user:21506] Re:
> 【SAStruts】セッションに設定したActionFormのページ単位の切り替えについて
>
> ひがさん
>
> redirect及び、env.txtにproductを指定してやってみましたが同じ結果になりました。
>
> で、途中吐きだされたHMLTソースを見ていて気付いたのですがSAStrutsタグの、<s:form>の指定が問題だったようです。
>
> <s:form>だけで、action属性を指定していなかった場合、アクションフォームをセッションに持つ画面間の遷移の場合、遷移前のActionFormが吐かれたHTMLソースのformタグの属性に指定されていました。
>
> <s:form>にてaction属性指定がない場合のアクションフォーム解決の方法に、問題があるのかもしれません。(action属性が任意になっているため、指定しないのも問題ないという認識の上)
>
>
> また、<s:form>のアクション属性に、””(空文字)を指定した場合は、正しいActionFormが選択されていました。(これもよくわからない。。。)
>
>
> 上記を受けて、今の対応としては<s:form>にaction属性を必ず指定するように対応しますが、これが本当に正しい対応かといわれると何とも言えないので、アドバイスをいただきたいと思います。
>
> また、私の認識では、<s:form>はaction指定をしなくても正しいActionFormが選択されるという認識でしたが、これは間違っていますでしょうか?
>
> 以上、宜しくお願い致します。
>
> 2012/11/26 YASUO HIGA <higa @ isid.co.jp>:
> > ひがです。
> >
> > Formをセッションにおいてあるなら、redirectで遷移するとどうなるでしょうか。
> > また、HOT deployは関係ない気がしますが、使っているならやめるとどうなりますか。
> > ________________________________________
> > 差出人: seasar-user-bounces @ ml.seasar.org [
> seasar-user-bounces @ ml.seasar.org]
> > が次の人の代理で送信しました: hikaru kondo [kondohikaru4seaser @ gmail.com]
> > 送信日時: 2012年11月26日 10:45
> > 宛先: seasar-user @ ml.seasar.org
> > 件名: [Seasar-user:21503] 【SAStruts】セッションに設定したActionFormのページ単位の切り替えについて
> >
> > 初めまして。近藤です。
> >
> > 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
> > _______________________________________________
> > Seasar-user mailing list
> > Seasar-user @ ml.seasar.org
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user
> _______________________________________________
> 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/20121127/ff943a3c/attachment.html>


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