ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

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と同じような感じがします。

※1 「オープンソース徹底活用 WicketによるWebアプリケーション開発」 P32〜56