[Seasar-user:12629] 【teeda】SubApplicationScopeの更新タイミングについて

g narumi [E-MAIL ADDRESS DELETED]
2008年 1月 25日 (金) 13:43:06 JST


お世話になります。
鳴海です。

うまく説明できず長文になってしまいました。申し訳ございません。

SubApplicationScopeの正しい動作を正確に把握していないので、
申し訳ないのですが、以下の動きは正しいのでしょうか?

以下のようなクラス+htmlがあったときに、
別の画面に遷移する「do*」メソッドが呼ばれた場合、
(別の画面には、SubApplicationScopeと同じ名前のプロパティはない)
SubAplicationScopeの値が更新されません。

■クラスとhtml
HTML:aaa.html
<input type="text" id="data" />
<input type="submit" id="doMyPageTest" value="自分のページ" />
<input type="submit" id="doOtherPageTest" value="他のページ" />

CLASS:AaaPage
public class AaaPage {

	@SubapplicationScope
	private String data;

	public Class doMyPageTest() {
		return null;
	}

	public Class doOtherPageTest() {
		return BbbPage.class;
	}
	// その他略
}

上記のページにおいて、
1.aaa.htmlでdataに「ほげ」を入力
2.「自分のページ」ボタンを押す
    (AaaPage#doMyPageTestが動作し、nullを返却)
3.SubApplicationScopeのdataは、「ほげ」に更新されている。

次に、
1.aaa.htmlでdataに「ほげ」を入力
2.「他のページ」を押す。
    (AaaPage#doOtherPageTestが動作し、BbbPage.classを返却)
3.この時点でSubApplicationScopeは更新されず、空のまま
※期待していたのは、この時点でSubApplicationScopeの値が更新され、
 その後で画面遷移が発生するという事です。

一応以下のような画面遷移を想定しております。

 入力→→確認→結果
 ↓↑←←
 ↓  ↑
 検索→選択

この入力画面から、検索画面に遷移した際に、画面上すでに入力されていた
値はSubApplicationScopeで保持し、選択後、入力画面に戻って来た際に
復元したいからです。

そもそもPageクラスの遷移の組み方がまずいのでしょうか?

念のためテストを行った、htmlとソースを添付します。

説明が下手で非常に長くなって申し訳ございません。
アドバイスいただけると助かります。
よろしくお願いいたします。

鳴海
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: scopetest.zip
型:         application/zip
サイズ:     7586 バイト
説明:       無し
URL:        http://ml.seasar.org/archives/seasar-user/attachments/20080125/9284f6fe/attachment-0001.zip 


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