==[[Apache Wicket]]==
===[http://www.wicket-ja.org/about_wicket Wicketってなに]===
*http://www.wicket-ja.org/about_wicket
*http://www.ibm.com/developerworks/jp/web/library/wa-aj-wicket/
=====オブジェクト指向=====
*WicketはJavaのオブジェクト指向言語としての機能を最大限に活用。Wicketは[[Java]]のオブジェクト指向言語としての機能を最大限に活用。*Strutsのような設定ファイルを持たない。唯一の設定ファイルは「web[[Struts]]のような設定ファイルを持たない。唯一の設定ファイルは「web.xml」
*プログラマは自由にページを「継承」したり、機能を「委譲」したりすることがでる
=====HTMLをそのまま使う[[HTML]]をそのまま使う=====*JSPのようなページ・テンプレートも否定[[JSP]]のようなページ・テンプレートも否定*HTMLファイルをそのままテンプレートとして使用[[HTML]]ファイルをそのままテンプレートとして使用*HTMLにもともと存在する属性をWicketが使うこともほぼない[[HTML]]にもともと存在する属性をWicketが使うこともほぼない*利用するのは、HTMLエディタが無視してくれる、独自の「wicket利用するのは、[[HTML]]エディタが無視してくれる、独自の「wicket:id」属性だけ*HTMLファイルをJSPに変換するための余計な労力は発生しない[[HTML]]ファイルをJSPに変換するための余計な労力は発生しない
=====コンポーネント指向=====
*コンポーネントはただのオブジェクトであって、入力補完をしてくれるフィールドや、日付選択用のボタンのついたフィールドなども「コンポーネント」
*複数のコンポーネントを組み合わせた、例えば「ログインフォーム」「コメントフォーム」などもコンポーネント。複数の画面で再利用可能
*Ajax対応コンポーネントをページに追加するだけで、Ajax化されてウェブページを作ることができる。[[Ajax]]対応コンポーネントをページに追加するだけで、[[Ajax]]化されてウェブページを作ることができる。
=====ステートフル=====
*アプリケーションには状態があるが、HTTPという通信プロトコルには本来「状態」という概念がない。アプリケーションには状態があるが、[[HTTP]]という通信プロトコルには本来「状態」という概念がない。
*サーブレットはこの問題を上辺だけで解決してきた。管理はすべてプログラマまかせ。
*Wicketはページの状態をフレームワークが保持します。入力値やページの変更も「状態」として保持