まずこれらを 2 つのアプリケーションコンポーネント[1] (以下コンポーネン
ト) として考えてみます。
* メインウィンドウのコンポーネント
* ポップアップウィンドウのコンポーネント
これらの 2 つのコンポーネントで変数を共有する方法として、私が思いつい
たのは下記のものです。
* 単にある時点の変数の値をコピーしたい場合は、ポップアップウィンドウ
を開くときにリクエストパラメータで渡すか、直前に単一のセッション変
数に値を設定するといいでしょう。
* 最新の変数の値をいずれのコンポーネントからも取得したい場合は、下記
のいずれかの方法を使うといいでしょう。
* 例えばメインウィンドウのフロー実行チケットをキーとする配列をセッ
ション変数として用意し、ポップアップウィンドウを開くときにそのフ
ロー実行チケットをリクエストパラメータで渡すか、直前に単一のセッ
ション変数に設定するといいでしょう。
* 2 つを単一のフローで統合し、ポップアップウィンドウを操作している
ときはメインウィンドウを操作できないように JavaScript で制御しま
す。例えば、http://gihyo.jp/ の記事内画像をクリックしたときの動作
がそれにあたります。
他にも方法あるかもしれませんが、よりシンプルなものから検討されるとよい
かと思います。
[1] フロー定義に基づいた状態を持つアプリケーションをステートフルアプリ
ケーションコンポーネント、それ以外の状態を持たないアプリケーション
をステートレスアプリケーションコンポーネントと呼んでいます。
--
KUBO Atsuhiro e-mail: ku...@iteman.jp