[Seasar-user:10243] [Teeda]Teeda1.0.11-RC1の@PageScope、@SubapplicationScopeの挙動について

橋本 昇 [E-MAIL ADDRESS DELETED]
2007年 8月 31日 (金) 10:54:30 JST


こんにちは、橋本と申します。

大谷さん、@PageScopeの不具合に対応していただきましてありがとうございます。
結果を楽しみにTeeda 1.0.11-RC1で動作を確認してみました。
※Seasar2 2.4.17との併用です

そこでいくつか気がついた点があります。
質問の前提コードは下記の通りです。

public class TestPage {
@PageScope
public String pageField;

@SubapplicationScope
public String subAppField;

public Class initialize() {
pageField = "pageField";
subAppField = "subAppField";
return null;
}

public Class prerender() {
System.out.println("prerender pageFiled=" + pageField);
System.out.println("prerender subAppField=" + subAppField);
return null;
}

public void doUpdate() {
System.out.println("doUpdate pageFiled=" + pageField);
System.out.println("doUpdate subAppField=" + subAppField);
}
}

<form id="Form">
<input type="submit" id="doUpdate"/>
</form>

上記のコードで
1.
とりあえず画面を表示する。
ログとして下記の表示が出力
prerender pageFiled=pageField
prerender subAppField=subAppField

2.
ボタンでsubmitする
ログとして下記の表示が出力
doUpdate pageFiled=null
doUpdate subAppField=null
prerender pageFiled=pageField
prerender subAppField=null

ここで2つの疑問がわきます。
疑問1
@SubapplicationScopeの値の引継ぎが失敗しているのでは?

疑問2
@PageScopeの値の復旧はprerender時には行われていますが、doXXXのイベント発
生に間に合うタイミングで行われないのでしょうか?

要望としてはdoXXX実行時に間に合うタイミングで復旧する事を希望いたします。
実際はJSFコンポーネントがPageクラスのgetter/setterを利用し始める前でしょ
うか・・・
JSFに明るくないため中途半端な技術要望ですみません。
※1.0.10の@SubapplicationScopeはそのようなタイミングで動作しているように
思えます。

以上、ご検討よろしくお願いします。



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