- オブジェクト指向
- WicketはJavaのオブジェクト指向言語としての機能を最大限に活用。
- Strutsのような設定ファイルを持たない。唯一の設定ファイルは「web.xml」
- プログラマは自由にページを「継承」したり、機能を「委譲」したりすることがでる
- HTMLをそのまま使う
- JSPのようなページ・テンプレートも否定
- HTMLファイルをそのままテンプレートとして使用
- HTMLにもともと存在する属性をWicketが使うこともほぼない
- 利用するのは、HTMLエディタが無視してくれる、独自の「wicket:id」属性だけ
- HTMLファイルをJSPに変換するための余計な労力は発生しない
- コンポーネント指向
- ページをオブジェクトとして扱う。
- ページそのものが複数の「コンポーネント」の組み合わせでできていると考える
- 「テキストフィールド」や「ラベル」「ラジオボタン」という各要素もコンポーネントの一種
- コンポーネントはただのオブジェクトであって、入力補完をしてくれるフィールドや、日付選択用のボタンのついたフィールドなども「コンポーネント」
- 複数のコンポーネントを組み合わせた、例えば「ログインフォーム」「コメントフォーム」などもコンポーネント。複数の画面で再利用可能
- Ajax対応コンポーネントをページに追加するだけで、Ajax化されてウェブページを作ることができる。
- ステートフル
- アプリケーションには状態があるが、HTTPという通信プロトコルには本来「状態」という概念がない。
- サーブレットはこの問題を上辺だけで解決してきた。管理はすべてプログラマまかせ。
- Wicketはページの状態をフレームワークが保持します。入力値やページの変更も「状態」として保持
- Wicketではページの状態をWicketが保持するから、ページに単純に値を保持できます。
- ページを「オブジェクト」として作ることができる
- サーブレットはサーブレット内に値を持つこと自体が禁止されていたのと対照的(状態はすべて「セッション」に保持して自分で管理しなければいけなかった)
YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto
Copyright© 矢木 浩人 All Rights Reserved.