Uploaded image for project: 'Teeda'
  1. Teeda
  2. TEEDA-358

Teeda1.0.11-RC1の@PageScope、@SubapplicationScopeの挙動について

XMLWordPrintable

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major Major
    • 1.0.11
    • Affects Version/s: None
    • Component/s: None
    • None

      Seasar-user:10243

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

      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はそのようなタイミングで動作しているように
      思えます。

            Assignee:
            shot shot
            Reporter:
            shot shot
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: