From masaya.seko @ nifty.ne.jp Tue Jun 26 10:23:35 2012 From: masaya.seko @ nifty.ne.jp (Masaya seko) Date: Tue, 26 Jun 2012 10:23:35 +0900 (JST) Subject: [Wicket-ja-user 662] =?iso-2022-jp?b?TW9kYWxXaW5kb3cgGyRCO0hNUTt+JE5DTSROPHUkMUVPGyhC?= =?iso-2022-jp?b?GyRCJDckSyREJCQkRhsoQg==?= Message-ID: <21248787.125061340673815270.masaya.seko@nifty.ne.jp> お世話になっております。世古と申します。 WicketのModalWindowを使用する上で疑問がありまして、メールを書いております。 疑問の内容は「ModalWindowの処理結果を、呼び出し元に返す際の実装はどのようにす るのがベストなのか?」ということです。 矢野さんが翻訳された「Apache Wicket ベストプラクティス(日本語)」には、「常に モデルを使え」というものがあり、「そういうものか」と思って、呼び出し元とModalW indowの間の値の受け渡しにModelを使用してみました。 結果、以下のことが分かりました。 (ModalWindowは、Panelではなく、Pageクラスを使用して実装するパターンにしていま す。) 1.Page→ModalWindowの2階層の場合、Modelで値の受け渡しが行なえる。 2.Page→ModalWindow→ModalWindowの3階層の場合、Modelで値の受け渡しが行なえな い。  最後のModalWindowで、呼び出し元から受け取ったModelの値を変更しても、呼び出し 元に反映されない。  (どうやら遷移の途中で、デシリアライズが発生するらしく、実行中に、Modelが参照 しているオブジェクトのインスタンスが別のものになっている?) 「あれ?」と思って、Wicket1.3及びWicket1.4に添付されているModalのサンプルを見 たのですが、どうやらサンプルは、ModalWindowにModelではなく、Pageクラスを渡して いるようです。 そして、実際Pageを渡すと期待通りに動作します。 ここで疑問なのですが…。 1.Modelを渡すとなぜ駄目なのか? 2.ModalにはPageを渡すべき? それとも、何か別の指針はある?   (例えば、変更したいLabelだけ渡したほうがいいよ、とか) どなたか分かる範囲で結構ですので、回答をいただければ幸いです。 以上、よろしくおねがいします。