Apache ウィケットの機能の一部を次に示します。
POJO コンポーネント モデル
Wicket のページとコンポーネントは、カプセル化、継承、およびイベントをサポートする実際の Java オブジェクトです。
開発の容易さ
Wicket は Java と HTML であるため、Java やお気に入りの HTML エディターに関する知識を活用して、Wicket アプリケーションを作成できます。
関心事の分離
Wicket はマークアップを Java コードと混同せず、マークアップ ファイルに特別な構文を追加しません。HTML と Java の世界は平行しており、HTML の属性と Java のコンポーネント プロパティである Wicket id によってのみ関連付けられています。Wicket HTML は単なる HTML であり、Wicket Java は単なる Java であるため、コーダーとデザイナーは、特別なツールに依存することなく、大部分独立して作業できます。
安全
Wicket はデフォルトで安全です。URL は機密情報を公開せず、すべてのコンポーネント パスはセッション相対です。セッション間で情報を共有するには、明示的な手順を実行する必要があります。さらに、URL 暗号化により、非常に安全な Web サイトが可能になります。
透過的でスケーラブルなクラスタリングのサポート
すべての Wicket アプリケーションは、クラスター上で自動的に動作し、追加の作業は必要ありません。ボトルネックが理解されると、Wicket はページ状態のレプリケーションの調整を可能にします。Wicket の次のバージョンは、ゼロステート スケーラビリティのクライアント側モデルをサポートします。
透明な戻るボタンのサポート
Wicket は、構成可能なページのバージョン管理をサポートしています。ユーザーがフォームを送信するか、ブラウザーの [戻る] ボタンでアクセスしたページからリンクをたどると、Wicket はページ オブジェクトを、ページが最初にレンダリングされたときの状態に戻すことができます。これは、戻るボタンをサポートする Web アプリケーションをほとんど手間をかけずに作成できることを意味します。
マルチタブとマルチウィンドウのサポート
Wicket は、マルチウィンドウとマルチタブの使用をサポートするアプリケーションを作成する簡単な方法を提供し、ユーザーが新しいブラウザー ウィンドウまたはタブを開いたときに開発者が適切に反応できるようにします
再利用可能なコンポーネント
Wicket の再利用可能なコンポーネントは、特に簡単に作成できます。Java extends キーワードを使用して既存のコンポーネントを拡張できるだけでなく、コンポーネントのグループを再利用可能なユニットとして関連付ける Panel コンポーネントを作成することもできます。
シンプルで柔軟なローカライズ可能なフォーム検証
Wicket でバリデーターを作成して使用するのは簡単です。また、検証エラー メッセージの表示と内容をカスタマイズしてローカライズすることも非常に簡単です。
タイプセーフ セッション
Wicket を使用すると、HttpSession 属性を手動で管理する必要がなくなります。ページおよびコンポーネント オブジェクトは透過的にセッションに格納され、アプリケーションはタイプ セーフなプロパティを持つカスタム セッション サブクラスを作成することもできます。セッションに保存されているすべてのオブジェクトは、クラスタリング レプリケーションに自動的に参加できます。
工場でカスタマイズ可能
Wicket は非常に拡張可能です。ほとんどの操作は、ファクトリまたはファクトリ メソッドを使用してカスタマイズできます。
着脱式モデル
Wicket のモデル オブジェクトは、クラスター内のメモリとネットワークの使用に関して非常に軽量です。モデルを使用すると、モデルを「アタッチ」して、永続ストレージから情報を取り込むことができます。モデルが使用されなくなったら、一時的な情報をリセットして、オブジェクトのサイズを縮小できます。
境界コンポーネント
Wicket Border コンポーネントを使用すると、再利用可能な方法でページを装飾できます。これは、一般的なナビゲーション構造またはレイアウトの継承に特に役立ちます。
すべての基本的な HTML 機能のサポート
Wicket は、イメージ タグ、リンク、フォームなど、Web アプリケーションの開発で使い慣れたものすべてをサポートしています。
属性のプログラムによる操作
Wicket コンポーネントは、任意の HTML タグ属性をプログラムで変更できます。
自動変換
フォームが検証されると、Wicket コンバーターを使用してモデルを更新できます。ほとんどの通常の変換は組み込みであり、新しいコンバーターを簡単に作成できます。
動的画像
Wicket を使用すると、画像の使用、共有、生成が非常に簡単になります。paint メソッドを実装するだけで動的な画像を作成できます。
ページング可能なリストビュー
Wicket の ListViews は非常に強力です。ListView の行には、他の ListView であっても、あらゆる種類のコンポーネントをネストできます。PageableListView は、大きなリストのナビゲーション リンクをサポートしています。
ツリー コンポーネント
ノードをナビゲートおよび選択するための既成のツリー コンポーネント。
ローカリゼーション
HTML ページ、画像、およびリソース文字列はすべてローカライズできます。