ポップアップ処理の実装方法で質問です

10 views
Skip to first unread message

katarou

unread,
Mar 5, 2008, 5:35:03 AM3/5/08
to Piece Framework Users (ja)
田川です。

現在作成しているアプリでjavascriptによるポップアップ表示を行いたいと考えています。

メイン画面で持っているアクションクラスの変数の値をポップアップ画面内で利用し、
処理を行いたいと考えています。(javascriptでsubmitする方法を考えています)

ただ、ポップアップ画面をflow(view)に組み込んだ場合、ポップアップ画面内でフローが継続してしまい、悩んでいるところです。

このような場合、どのように実装を行うのが最良でしょうか?

KUBO Atsuhiro

unread,
Mar 7, 2008, 11:57:10 PM3/7/08
to piece-framew...@googlegroups.com
久保です。

まずこれらを 2 つのアプリケーションコンポーネント[1] (以下コンポーネン
ト) として考えてみます。

* メインウィンドウのコンポーネント
* ポップアップウィンドウのコンポーネント

これらの 2 つのコンポーネントで変数を共有する方法として、私が思いつい
たのは下記のものです。

* 単にある時点の変数の値をコピーしたい場合は、ポップアップウィンドウ
を開くときにリクエストパラメータで渡すか、直前に単一のセッション変
数に値を設定するといいでしょう。
* 最新の変数の値をいずれのコンポーネントからも取得したい場合は、下記
のいずれかの方法を使うといいでしょう。
* 例えばメインウィンドウのフロー実行チケットをキーとする配列をセッ
ション変数として用意し、ポップアップウィンドウを開くときにそのフ
ロー実行チケットをリクエストパラメータで渡すか、直前に単一のセッ
ション変数に設定するといいでしょう。
* 2 つを単一のフローで統合し、ポップアップウィンドウを操作している
ときはメインウィンドウを操作できないように JavaScript で制御しま
す。例えば、http://gihyo.jp/ の記事内画像をクリックしたときの動作
がそれにあたります。

他にも方法あるかもしれませんが、よりシンプルなものから検討されるとよい
かと思います。

[1] フロー定義に基づいた状態を持つアプリケーションをステートフルアプリ
ケーションコンポーネント、それ以外の状態を持たないアプリケーション
をステートレスアプリケーションコンポーネントと呼んでいます。

--
KUBO Atsuhiro e-mail: ku...@iteman.jp

katarou

unread,
Mar 9, 2008, 12:29:40 AM3/9/08
to Piece Framework Users (ja)
田川です。

ご回答有難うございます。
自分の方でも検証を行っていたのですが、今回の要件ではセッションを利用し、
dispatcher_simpleで行う方法がよさそうです。
メンテナンス上、可能であればポップアップの処理も1つのフロー(アクションクラス)に実装できたほうがいいかと思い
ご相談したしだいでした。

どうもありがとうございました。
> KUBO Atsuhiro e-mail: k...@iteman.jp
Reply all
Reply to author
Forward
0 new messages