httpsにようやく対応したんだよ。感想、注意点ModalWindowWicketではモーダルウィンドウもコンポーネントとして提供されているので、使ってみる。例として、以下のような機能のページを作成する。メインページのボタンを押すとモーダルウィンドウが立ち上がるモーダルウィンドウのテキストボックスに値を入力してOKボタンを押すと、値がメインページのラベルに反映されるモーダルウィンドウの×ボタンを押すと、処理をせず閉じる元画面Javaクラス。form){modalWindow.show(target);}};form.add(ajaxButton);}}モーダルウィンドウはModalWindowというそのまんまのクラスで作成する。setPageCreatorの部分で、どのクラスをモーダルとして表示させるかを設定する。モーダルにJavaのインスタンスを渡せるのでいろいろと便利に使える。setWindowClosedCallbackはモーダルを閉じた時のイベント。「setResponsePage(getPage())」で、画面(MainPage)を再描画させている。これはどのような操作かにかかわらずとにかくモーダルが閉じたときのイベントだが、「×ボタンを押したとき専用」のイベントも存在するので使い分けができる。AjaxButtonでモーダルウィンドウを表示させる。モーダルを閉じる場合はModalWindow#close()を使用する。/></form>WicketのModalWindowは本当に新規のウィンドウが開くわけではなく、Ajaxを使用して実現している。今回、モーダルウィンドウ表示部分はdivで指定した(別にdivである決まりはない)。モーダル画面Javaクラス。モーダル側も通常のページと同様WebPageのサブクラスとして作成する。form){modalWindow.close(target);}};form.add(ajaxButton);}}今回は以下のような作りにした。コンストラクタでModelとModalWindow(表示されているのは自画面)を受け取るテキストを入力してボタンを押すと、モデルに値をセットし画面を閉じるHTML。/></form>特に注意点はない。ちなみに、モーダルウィンドウのタイトルの設定にはHTMLのTitleタグが使われるが、java側でModalWindow#setTitle(String)で設定する方法もある。Wicket全般に言えることではあるがモデルやインスタンスをやり取りできるのはかなり便利。これができるというだけでStrutsではなくWicketを選ぶ価値があるんじゃないかと思えるくらい。他にもいいところはいっぱいある。イベント等を細かく拾えたりできるのも大きい。JavaScriptのshowModalDialogと比べて自由度が高いので、上記のようなクラスを直に扱えることとも相まって作りやすくなっている。注意点としては、モーダルでModelを変更しても、そのままでは親画面の表示は再描画されないため、見た目上値が変更されていないようになってしまうということ。今回は「setResponsePage(getPage())」で再描画させている。このサイトの使用を継続することで、その使用に同意したとみなされます。コントロール方法を含む詳細についてはこちらをご覧ください。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。