古川 烈
r_f_315****@hotma*****
2009年 8月 7日 (金) 10:55:32 JST
古川です。 求められていることの必須条件が、 ・ブラウザは別ウィンドウで開く必要がある ・Javascriptは一切使えない であれば、役に立たないと思いますが org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow を使用するというのはダメでしょうか? これを利用すれば、モーダル内部でページクラスもそのまま使えますし 開き先で開き元ページにアクセスできるようにコンストラクタで参照渡せます。 ( 確かパネルも使えたと思います。 ) modal.setPageCreator( new ModalWindow.PageCreator() { public Page createPage() { return new OpenTargetPage( OpenBasePage.this, modal ); } }); モーダルが閉じられた時もハンドリングできるので期待される動きが実現できるのではないかと modal.setWindowClosedCallback( new ModalWindow.WindowClosedCallback() { public void onClose( AjaxRequestTarget target ) { target.addComponent(result); } }); 見た目の問題などは、ModalWindow の画像を変えるなり、ソースを元に独自に作り直すなりで 対応できるのかなと。 以上、目的が全然違うのであれば無視してください。 > Date: Thu, 6 Aug 2009 17:59:34 +0900 > From: haduk****@yahoo***** > To: wicke****@lists***** > Subject: [Wicket-ja-user 372] 別ウインドウとの連携方法 > > 長谷川と申します。 > > 次のようなアプリケーションを実装するために、いくつかの点で悩んでいます。 > > (1)メイン画面に明細データの一覧表示があり、明細の各行に「編集」ボタンがあ > る。 > (2)編集ボタンを押すと、メイン画面はそのままで別ウインドウで編集画面を開く > (3)編集画面では対応する明細行の属性を編集する事ができる。 > (3-1)編集画面で「OK」ボタンを押すと、データベースは更新せずにメイン画面に > 編集結果を反映する > (3-2)編集画面で「CANCEL」ボタンを押すと、編集画面を閉じる > (4)最終的に、メイン画面の「更新」ボタンで全明細データをまとめてデータベー > スへ反映する。 > > 悩んでいるのは次の点です。 > > 「データを渡して別画面を表示する」 > データベースを経由できないので、idを渡して…という方法は使えず、オブジェ > クトを渡さなければなりません。 > > 「別画面として開いたページの内容を元画面に戻す」 > こちらもデータベースを経由できないので、オブジェクトをそのまま返さねばな > りません。 > 別ページが閉じたタイミングを元ページ側でどのように知れば良いのかも難しい > です。 > > Wicketで、ブラウザのウインドウをまたいでデータのやり取りをしたい時はどの > ようにされていますか? > アドバイスをいただきたいです。 > > よろしくお願いします。 > > > -- > haduk****@yahoo***** > > -------------------------------------- > Power up the Internet with Yahoo! Toolbar. > http://pr.mail.yahoo.co.jp/toolbar/ > > _______________________________________________ > Wicket-ja-user mailing list > Wicke****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user _________________________________________________________________ 無料で使える25GB。USBメモリの代わりに、Webに保存 http://clk.atdmt.com/GBL/go/153787332/direct/01/ -------------- next part -------------- HTMLの添付ファイルを保管しました... Download