Wicketとは?
Wicketとは,POHP(Plain Old HTML Page)のソリューションの一つだ。Wicketを使用することにより,ロジック的な要素が多く含まれがちなJSPではなく,全くシンプルなHTMLでViewを作成していくことができる。そして,ページの中で動的な部分を構築するためのJavaコードは,GUIアプリケーション,特にSwingを使ったことのある人なら「お,似てるな」と思ってしまうようなコードで記述できる。
例えば,POHPとして, ここが入れ替わる とHTMLに記述する。wicket:id属性がポイントだ。そして「ここが入れ替わる」という部分に動的なコンテンツを表示させたいときには, Label label = new Label(“hoge”, “この文字列を表示”); add(label); というような感じになる。GUIアプリケーションに良く見られる,コンテナにラベルコンポーネントを登録するコードにそっくりである。Wicketプロジェクトの立ち上げメンバーには,Swingの開発メンバー(Jonathan Locke氏)が参加している。というわけで,GUIアプリケーション的なコーディングになっているというわけである。
Wicketは,Labelのようなコンポーネントに,ドメインモデルのプロパティを割り当てることができる。もちろんドメインモデルに対する制約は「JavaBeans仕様に準拠すること」程度である。つまり,POJOをそのまま扱うことができるのである。入力パラメータをPOJOにセットする際の型変換も考えられているので,柔軟に対応できる。
Wicketは,POJOとPOHPとの橋渡し的なソフトウェアと言うことができるだろう。もちろん,Webブラウザ上でのサブミットなどのイベントはコンポーネントに伝えられて,イベントハンドラのメソッドが実行される。そのメソッドの中では,既にPOJOに入力パラメータが格納されているので,素直にPOJOを使ってビジネスロジックを記述すればよい。非常にシンプルだ。
Wicket,あなたもその「窓口」を叩いてみてはいかがだろうか?