[Seasar-user:6773] Re: [Teeda] iframe使用時のサブアプリケーションスコープについて
馬場 直道
[E-MAIL ADDRESS DELETED]
2007年 3月 20日 (火) 12:46:41 JST
お世話になります。馬場です。
ひとまず、サブアプリケーションスコープによる値保持を使用せずに
Hiddenで持ちまわすように修正を考えています。
ですが、今後のTeeda利用のことも考えて提案させて頂きます。
サブアプリケーションスコープ処理対象外Pageの指定
指定されたPageがRequestされても既に存在するサブアプリケーションの値を
破棄しない。また、上書きしない。
→ javax.faces.internal.scope.SubApplicationScope.scope に対して何も関与しない
iframeで利用するようなPageは共通的なものであり、
iframeで利用するようなPageではほとんどの場合サブアプリケーションスコープ機能は
不要なので。
A. diconにて定義
B. faces-config.xmlにて定義
C. Getパラメータに決まった xxx=true と指定されていたら、
それはサブアプリケーションスコープ処理対象外と判定する
D. Pageのアノテーションでサブアプリケーションスコープ処理対象外指定する。
includeで問題なければそれでもいいのですが、画面仕様的に「iframeであること」
が義務付けられていることも多いので(今回がそうなのです)、ご検討頂けたらと思います。
On Mon, 19 Mar 2007 14:30:01 +0900
馬場 直道 <[E-MAIL ADDRESS DELETED]> wrote:
> いつもお世話になっております。
> 馬場です。
>
> Teeda-1.0.6を利用しています。
>
>
> 同サブアプリケーションPage間で同じ名前のプロパティの値を
> 引き継ぐ機能についての質問です。
> (つまり、サブアプリケーションスコープ機能!?)
>
>
> 例えば、
> 入力画面(A) → 確認画面(B) → 登録処理(完了画面)(C)
> という遷移をする機能があるとします。
>
> そのとき、「B」において「登録」ボタンを押した場合に
> 「C」にてDBへの登録処理をしますが、「B」のPageクラスの値を
> サブアプリケーションスコープ機能を使って「C」のPageクラスに
> 引き継ぐことが可能です(でした)。
>
> しかし、「B」の画面に iframeで別PackageのPageクラス(URL)を
> 呼び出すような処理を入れた場合に、上記のサブアプリケーションスコープ機能
> が無効になってしまいました(「C」のPageクラスに値が引き継がれない)。
>
> これは、iframeのRequestが別PackageのPageクラスのため、
> その時点でTeedaが「別のサブアプリケーションに遷移した」と判断し、
> サブアプリケーションスコープの値を破棄してしまうと想像をしているのですが、
> 認識は合っていますでしょうか?
>
>
> もし、そうだとしたら、
> 例えば画面の共通部品にiframeを利用しているようなプロジェクトでは
> サブアプリケーションスコープ機能は利用できないと考えて実装するべきでしょうか?
> (独自でHiddenを使うなりSessionを使うなりの工夫をするべきでしょうか?)
>
>
> 以上、よろしくお願いいたします。
>
> ------------------------------
> 株式会社 ビルドシステム
> 業務システム開発部
> 馬場直道 [E-MAIL ADDRESS DELETED]
> ------------------------------
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
------------------------------
株式会社 ビルドシステム
業務システム開発部
馬場直道 [E-MAIL ADDRESS DELETED]
------------------------------
Seasar-user メーリングリストの案内