[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 メーリングリストの案内