Wicket (3)View層の構成 その1
「オープンソース徹底活用 WicketによるWebアプリケーション開発」を読み
Wicketについて学習しています。
以下、Chapter2「QuickStartアプリケーションで見るWicket」(※1)を読んでの、
View層の構成のメモです。
1.HTMLファイルに記述するタグでサーバー側で処理が必要なものをWicketではコンポーネントとして扱う。
コンポーネントはタグ内に「wicket:id="・・・"」の形式でidをつける。
例. <input type="text" wicket:id="inputField" />
2.HTMLファイルと同名の.javaファイル内のコンストラクタで、コンポーネントを追加する。
この.javaファイルはHTMLファイルと同じ名前のクラスで、WebPageクラスを継承して作る。
コンポーネントを追加する際、HTMLファイルで定義したコンポーネントの親子関係をそのまま反映する。
例. HTMLファイルで<form>タグ内に<input>タグが定義されている場合
FormオブジェクトにInputオブジェクトをaddし、FormオブジェクトをWebPageクラスに
addする。
3.リクエストの処理については、Wicketはイベントという形でサーバー側に通知する。
イベントを処理するプログラムは、「on〜」で始まるメソッドを.javaファイル内で
オーバーライドして実装することが多い。
オーバーライドするためだけに新たにサブクラスを作る必要はなく、Javaの匿名サブクラスを
することが可能。
HTMLファイルと同名のJavaクラス内にイベントの処理を実装するあたりは
ASP.NETの経験者なら馴染み深いのではないのでしょうか。
ASP.NETの場合はHTMLを.aspxファイルに、サーバー側の処理を.aspx.cs(C#の場合)に記述します。
またページをオブジェクトして扱い、ページオブジェクトがコントロールを保持するのも
ASP.NETと同じような感じがします。