Apache Wicket


Apache_Wicket

Apacheの自動改札一般に呼ばれる、自動改札は、コンポーネントベースのWebアプリケーションフレームワークのためのJavaプログラミング言語に概念的に類似のJavaServerは顔とタペストリー。もともとは2004年4月にJonathanLockeによって書かれました。バージョン1.0は2005年6月にリリースされました。2007年6月にApacheトップレベルプロジェクトに卒業しました。 Apache Wicket 開発者
Apache Software Foundation
安定リリース 7.x 7.18.0 / 2021年4月2日; 5か月前 (2021-04-02) 8.x 8.12.0 / 2021年3月30日; 6か月前 (2021-03-30) 9.x 9.3.0 / 2021年3月25日; 6か月前 (2021-03-25)
リポジトリ
gitbox .apache .org / repos / asf?p #61; wicket .git;
で書かれている Java タイプ
Webアプリケーションフレームワーク
ライセンス
Apacheライセンス2.0
Webサイト
wicket .apache .org

コンテンツ
1 理論的根拠
2 設計
3 例
4 コンポーネント
5 リリース
6 も参照してください
7 参考文献
7.1 ノート
8 外部リンク

理論的根拠
従来のmodel-view-controller(MVC)フレームワークは、リクエスト全体とページ全体の観点から機能します。各リクエストサイクルで、着信リクエストはコントローラーオブジェクトのメソッドにマップされ、コントローラーオブジェクトは、通常、モデルからデータを引き出して、特殊なテンプレートマークアップで記述されたビューにデータを入力することにより、発信レスポンス全体を生成します。これにより、アプリケーションの制御フローが単純かつ明確に保たれますが、コントローラーでのコードの再利用が困難になる可能性が
対照的に、Wicketは、Swingなどのステートフル GUIフレームワークに倣って密接にパターン化されています。Wicketアプリケーションはコンポーネントのツリーであり、Swingコンポーネントがマウスイベントやキーストロークイベントに反応するのと同じ方法で、リスナーデリゲートを使用してリンクやフォームに対するHTTPリクエストに反応します。Wicketは、コンポーネントベースのフレームワークとして分類されます。

設計
WicketはテンプレートにプレーンなXHTMLを使用します(これにより、プレゼンテーションとビジネスロジックが明確に分離され、従来のWYSIWYGデザインツールでテンプレートを編集できるようになります)。各コンポーネントはXHTMLの名前付き要素にバインドされ、最終出力でその要素をレンダリングする役割を果たします。このページは単にトップレベルのコンポーネントを含み、1つのXHTMLテンプレートとペアになっています。特別なタグを使用すると、個々のコンポーネントのグループをパネルと呼ばれる単一のコンポーネントに抽象化して、そのページ、他のページ、または他のパネルで全体を再利用できます。
各コンポーネントは、コンポーネントの状態を表す独自のモデルによって支えられています。フレームワークには、コンポーネントがモデルとどのように相互作用するかについての知識がありません。モデルは、リクエスト間で自動的にシリアル化および永続化される不透明なオブジェクトとして扱われます。ただし、より複雑なモデルは取り外し可能にし、各要求サイクルの開始時と終了時に独自のストレージと復元を配置するためのフックを提供する場合がWicketは特定のオブジェクト永続性またはORMレイヤーを義務付けていないため、アプリケーションは多くの場合、Hibernateオブジェクト、EJB、またはPOJOの組み合わせをモデルとして使用します。
Wicketでは、すべてのサーバー側の状態が自動的に管理されます。状態を格納するためにHttpSessionオブジェクトまたは同様のラッパーを直接使用しないで代わりに、状態はコンポーネントに関連付けられています。各サーバー側ページコンポーネントは、ステートフルコンポーネントのネストされた階層を保持します。各コンポーネントのモデルは、最終的にはPOJO(Plain Old Java Object)です。
Wicketはシンプルさを目指しています。Wicketで学習する構成ファイルはありません。Wicketは、コンポーネント構造への一貫したアプローチを備えたシンプルなクラスライブラリです。


Hello Worldの4つのファイルとWicketのアプリケーション、: HelloWorld.html XHTMLテンプレート。
<!DOCTYPE html PUBLIC "-// W3C // DTD XHTML 1.0 Transitional // EN"
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> xmlns:wicket = ” http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd “
xml:lang = ” en ” lang = “en” > メッセージはここに表示されます
HelloWorld.javaにバインドされるページコンポーネント。次に、子コンポーネント(「message」という名前のLabelコンポーネント)をバインドします。
パッケージ org.wikipedia.wicket ;import org.apache.wicket.markup.html.WebPage ; import org.apache.wicket.markup.html.basic.Label ;public class HelloWorld extends WebPage { / *** コンストラクタ * / public HelloWorld () {
add (new Label (”message” 、 “Hello World!” )); } } HelloWorldApplication.java ホームページのリクエストをHelloWorldページコンポーネントにルーティングするメインアプリケーションクラス。
パッケージ org.wikipedia.wicket ;import org.apache.wicket.protocol.http.WebApplication ;パブリック クラス HelloWorldApplication は WebApplicationを 拡張します{ / *** コンストラクタ。 * / public HelloWorldApplication () { } / **
* @see org.apache.wicket.Application#クラスにgetHomePage() * / パブリック クラス クラスにgetHomePage () {
リターン のHelloWorld 。クラス; } } web.xml サーブレットアプリケーション
のデプロイメント・ディスクリプタHelloWorldApplicationのサーブレットと並べのデフォルトハンドラとしてウィケットをインストールし、起動時にインスタンス化されます。
<?xml version = "1.0" encoding = "UTF-8"?> xsi:schemaLocation = ” http://java.sun .com / xml / ns / javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd “
id = ” WebApp_ID ” version = ” 2.5 ” > Wicketの例
HelloWorldApplication
org.apache.wicket.protocol.http.WicketFilter
applicationClassName org.wikipedia.wicket.HelloWorldApplication

HelloWorldApplication
/ *

コンポーネント
フォーム、リンク、リピーターなどの基本的なコンポーネントが組み込まれています。

リリース
ApacheWicketバージョン
シリーズ 説明 最新のリリース 最新のリリース日
現在の安定バージョン: 9.x 必要な最小プラットフォームとしてJava11に移行し、JUnit 4から5に移行し、Java 12および13をサポートし、ページとデータのストレージを作り直し、その他の改善を行いました。
9.3.0 2021-03-25
古いバージョンですが、まだ維持されています: 8.x 必要最小限のプラットフォームとしてJava8に移行します。Lambdasのサポート、3.1への移行に必要なサーブレットAPIバージョン、日付を処理するための新しいタイプのサポート、およびその他の改善。 9.xバージョンにアップグレードすることをお勧めします。
8.12.0 2021-03-30
古いバージョンですが、まだ維持されています: 7.x 必要最小限のプラットフォームとしてのJava7への移行、クロスサイトリクエストフォージェリの防止、インラインイメージのサポート。このリリースは、約300の機能、改善、修正で構成されています。セキュリティ修正のみ。9.xバージョンへのアップグレードをお勧めします。
7.18.0 2021-04-02
古いバージョン、メンテナンスされていません: 6.x 必要最小限のプラットフォームとしてJava6に移行します。すぐに使用できるjQuery統合、AJAXリクエストの完全な制御、ブラウザーでのイベント登録の改善、大規模なデータセットのサポート、クライアント側のJavaScriptライブラリの依存関係管理、WebSocketの実験的なサポート。
6.30.0 2018-12-05
古いバージョン、メンテナンスされていません: 1.5.x Wicket機能の改善。
1.5.16 2016-08-05
古いバージョン、メンテナンスされていません: 1.4.x 必要最小限のプラットフォームとしてJava5に移行します。
1.4.23 2014-02-06
古いバージョン、メンテナンスされていません: 1.3.x
1.3.7 2009年7月30日
古いバージョン、メンテナンスされていません: 1.2.x
1.2.7 2008-03-23
古いバージョン、メンテナンスされていません: 1.1.x
1.1.1 未定
古いバージョン、メンテナンスされていません: 1.0.x
1.0.3 未定
伝説:
古いバージョン
古いバージョン、まだ維持されています
最新バージョン
最新のプレビューバージョン
将来のリリース

も参照してください
image"
 無料のオープンソースソフトウェアポータル
ヴァーディン
タペストリー
クリック ZK リッチフェイス
エコー

参考文献
Ceregatti Longo、JoãoSávioInstant Apache Wicket 6(第1版)。PacktPublishing。NS。54. ISBN 978-1783280018。
マダー、ヨッヘン改札:Komponentenbasiert und objektorientiert(第1版)。エントウィックラー。NS。220. ISBN 978-3868020816。
Vaynberg、IgorApache Wicketクックブック(第1版)。PacktPublishing。NS。312. ISBN 978-1-84951-160-5。
Dashorst、Martijn; ヒレニウス、EelcoWicket in Action(第1版)。マニング出版物。NS。392. ISBN 978-1-932394-98-6。
Gurumurthy、Karthikプロウィ​​ケット(第1版)。押してNS。328. ISBN 1-59059-722-2。

ノート
^ 「ASFGitリポジトリ-wicket.git / commit」。gitbox.apache.org 。2021-04-13を取得。
^ 「ASFGitリポジトリ-wicket.git / commit」。gitbox.apache.org 。2021-04-13を取得。
^ 「ASFGitリポジトリ-wicket.git / commit」。gitbox.apache.org 。2021-04-13を取得。
^ Dashorst、Martijn(2007-07-20)。「WicketはApacheIncubationを卒業しました」。
^ カールトン、ダニエル(2007-10-12)。「JavaWeb開発はウィケットの方法」。DevX。
^ Apache Wicket 9の発表:現代のJavaの世界に入りましょう!。wicket.apache.org。2020-10-05に取得。
^ Apache Wicket 8の発表:書き込みを減らし、より多くを達成します。wicket.apache.org。。
^ Apache Wicketv7.0がリリースされました。wicket.apache.org。。
^ Apache Wicketv6.0.0がリリースされました。wicket.apache.org。2020-10-05に取得。
^ Apache Wicket-ApacheWicketはWicket1.5をリリースします。Wicket.apache.org。。アーカイブでは、2014年10月6日ウェイバックマシン ^ Apache Wicket-Apache Wicket 1.4は、タイプセーフティを次のレベルに引き上げます 。 2012年4月25日、 WaybackMachineでアーカイブされました。Wicket.apache.org。。

外部リンク
公式サイト
image image