[Seasar-user:9996] Re: [Teeda]HTML にない値の引き継ぎについて
Hiroshi Yamamoto
[E-MAIL ADDRESS DELETED]
2007年 8月 21日 (火) 04:07:56 JST
山元です。
ずいぶん悩みましたが、なんとか正解にたどり着いた気がします。
混乱の原因は下記の仕様のためでした。
・HTMLに対応するinputがないプロパティは、明示されない限り、SubApplicationScopeに格納されない。
・しかし、doメソッド内で値を設定した場合は、SubApplicationScopeに格納される。
・ただし、initialize及びprerenderメソッド内で値を設定しても、SubApplicationScopeには格納されない。
自分としては、この理解で正しいと思っているのですが、問題ありますでしょうか?
以上、よろしくお願いいたします。
07/08/20 に Yasuo Higa<[E-MAIL ADDRESS DELETED]> さんは書きました:
> ひがです。
>
> > 山元と申します。
> >
> > TeedaでHTMLのフォームにないプロパティの、Pageクラスの値の引き継ぎ動作につい
> て教えてください。
> >
> > ・入力画面 -> 確認画面 -> 結果画面
> >
> > 上記の流れの処理があり、当初、入力画面のdoメソッドで処理をして結果の値を設定
> するようにしていました。
> >
> > 結果の値は文字列に出来ないオブジェクトだったので、確認画面のhtmlにはフィール
> ドを持っていませんでした。
> >
> > この処理は問題なかったのですが、ひがさんが[Seasar-user:9843]で
> > 「結果画面用の処理は、結果画面で行ったほうが良い」と書かれていたのを見て、
> > 入力画面からgoで遷移して確認画面のinitializeメソッドで、
> > 処理をして値を設定するように変えたところ、値が引き継がれなくなってしまいまし
> た。
> >
> > 最終的に、プロパティのスコープを明示的にサブアプリケーションにすることで
> > hogeが出力されるようにはなったのですがスコープを明示しない場合に、
> > どうしてこのような動作になるかが理解できませんでした。
> >
> > この動作はTeedaの動作として想定したものなのでしょうか?
> >
> Pageクラスのプロパティの情報がないので、
> 詳しいことはこれ以上わかりませんが、
> 入力画面と確認画面に同じプロパティがあれば
> 値は引き継がれます。
>
> また、確認画面で値を維持するには、
> hiddenが必要です。
>
> > 前提 ----------------------------------
> >
> > 結果の値のプロパティ名:hoge
> >
> > hogeConfirm.html
> > hogeのinputフィールドなし
> >
> > HogeConfirmPage.java
> > public Class doFinish() { System.out.println(hoge); }
> >
> > 修正前 --------------------------------
> > hogeEdit.html
> > <input type="button" id="doHogeConfirm" value="confirm" />
> >
> > HogeEditPage.java
> > public Class doHogeConfirm() { setHoge("hoge"); }
> >
> > HogeConfirmPage#doFinish()で"hoge"が出力される
> >
> > 修正後 --------------------------------
> > hogeEdit.html
> > <input type="button" id="goHogeConfirm" value="confirm" />
> >
> > HogeConfirmPage.java
> > public Class initialize() { setHoge("hoge"); }
> >
> > HogeConfirmPage#doFinish()で"null"が出力される
> >
> > 対応 ----------------------------------
> > @SubapplicationScope
> > private String hoge;
> >
> > HogeConfirmPage#doFinish()で"hoge"が出力される
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
>
>
> --
> Yasuo Higa
> [E-MAIL ADDRESS DELETED]
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内