(Translated by https://www.hiragana.jp/)
Apache Wicket - Wikipedia コンテンツにスキップ

Apache Wicket

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
Apache Wicket
開発元かいはつもと Apacheソフトウェア財団ざいだん
最新さいしんばん
9.2.0 / 2020ねん11月19にち (3ねんまえ) (2020-11-19)[1]
リポジトリ ウィキデータを編集
プラットフォーム クロスプラットフォーム
種別しゅべつ Webアプリケーションフレームワーク
ライセンス Apache License 2.0
公式こうしきサイト http://wicket.apache.org
テンプレートを表示ひょうじ

Apache Wicket(アパッチ・ウィケット)は、Apacheソフトウェア財団ざいだんのApache Wicketプロジェクトにて開発かいはつされているオープンソースJava Webアプリケーションフレームワークである。たんWicketばれることがおおい。ほんぺーじでは以下いか、Wicketと記述きじゅつする。

概要がいよう

[編集へんしゅう]

元々もともとはJonathan Lockeの作成さくせいしたソフトウェアであり、2005ねん6がつにVer1.0が発表はっぴょうされた。

2007ねん6がつにApacheのトップレベルプロジェクトになった。

類似るいじするWebアプリケーションフレームワークとして、JavaServer FacesApache Tapestryげられる。

wicketには、英語えいごでは「ちいさなもん」「(銀行ぎんこうなどの)格子こうし窓口まどぐち」の意味いみほかクリケット使用しようされる「3ほんくいと、くい上部じょうぶに2ほん横木よこぎせた柱状ちゅうじょうのもの」(さんはしらもん)の意味いみがある。

2011ねんにVer1.5をリリースしたのちのメジャーバージョンアップは、2012ねんのVer6.0となる。

特徴とくちょう

[編集へんしゅう]

Webアプリケーションフレームワークでもっと普及ふきゅうしているもののひとつはApache Struts以下いか、Struts)であったっが、StrutsはJavaでつくられているにもかかわらず、Javaらしいオブジェクト指向しこう開発かいはつ実現じつげんしていない。Strutsはサーブレット設定せっていファイルで制御せいぎょすることを目標もくひょうとし、さまざまな要素ようそ設定せっていファイルに記述きじゅつすることで、開発かいはつ効率こうりつげようとしていた。

Wicketは、これとはぎゃく発想はっそうで、Javaのオブジェクト指向しこう言語げんごとしての機能きのう最大限さいだいげん活用かつようできるようにつくられている。

Wicketから場合ばあい、ウェブページもオブジェクトであり、そのうえかれる文字もじれつタグなどもすべてオブジェクトとしてあつかう。そのため、Javaプログラムによってウェブページを継承けいしょうしたり、機能きのう委譲いじょうしたり、独自どくじ拡張かくちょうすることができる。

Wicketが利用りようする定義ていぎファイルは、Java Servlet仕様しよう必要ひつようさだめられているweb.xmlのみである。

画面がめん定義ていぎやページ・テンプレートはHTMLファイル、またはXHTMLファイルでおこなう。Wicketが独自どくじ拡張かくちょうしたタグはHTMLタグのえや処理しょり記述きじゅつするのではなく、Wicketが解釈かいしゃくする範囲はんい指定してい意味いみにづけになっている。また、HTMLタグに独自どくじ拡張かくちょうした属性ぞくせい必要ひつようおうじて記述きじゅつする。このため、JSPファイルとことなり、通常つうじょうブラウザ表示ひょうじさせたりAdobe DreamweaverのようなWebオーサリングツール表示ひょうじ編集へんしゅうすることが容易よういである。

Wicket 独自どくじ拡張かくちょう

[編集へんしゅう]

Wicketが独自どくじ拡張かくちょうしたタグには以下いかのものがある。

  • wicket:link
  • wicket:panel
  • wicket:fragment
  • wicket:border
  • wicket:body
  • wicket:extend
  • wicket:child
  • wicket:message
  • wicket:remove
  • wicket:head
  • wicket:enclosure
  • wicket:container

Wicketが独自どくじ拡張かくちょうした属性ぞくせいには以下いかのものがある。

  • wicket:id
  • wicket:message
  • wicket:enclosure
  • wicket:for
  • wicket:unknown
  • wicket:scope

プログラムれい

[編集へんしゅう]

Hello world表示ひょうじするプログラムれい以下いかしめす。

HelloWorld.html
テンプレートとなるXHTMLファイル。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
      xml:lang="ja" lang="ja">
<body>
    <span wicket:id="message" id="message">ここにメッセージが表示ひょうじされる。</span>
</body>
</html>
HelloWorld.java
ページ・クラス。クラスめいおな名前なまえのHTML/XHTMLテンプレート(この場合ばあい、HelloWorld.html)をむ。
テンプレートちゅうにあるwicket:id属性ぞくせいが"message"となっているタグの内容ないよう指定していした文字もじれつ("ハロー・ワールド!")にえる。
package org.wikipedia.ja.wicket;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;

public class HelloWorld extends WebPage {
    /**
     * Constructor
     */
    public HelloWorld() {
        add(new Label("message", "ハロー・ワールド!"));
    }
}
HelloWorldApplication.java
Applicationオブジェクト。
アプリケーションをWebコンテナにロードするときの開始かいしてんとなる。
package org.wikipedia.ja.wicket;

import org.apache.wicket.protocol.http.WebApplication;

public class HelloWorldApplication extends WebApplication {
    /**
     * Constructor.
     */
    public HelloWorldApplication() {
    }

    /**
     * @see org.apache.wicket.Application#getHomePage()
     */
    public Class getHomePage() {
        return HelloWorld.class;
    }
}
web.xml
Wicketサーブレット・クラスを定義ていぎし、クラスにアプリケーション・クラスめいをパラメーターとして指定していする。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         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">
    <display-name>Wicket Example</display-name>
    <filter>
        <filter-name>HelloWorldApplication</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
            <param-name>applicationClassName</param-name>
            <param-value>org.wikipedia.ja.wicket.HelloWorldApplication</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>HelloWorldApplication</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>


脚注きゃくちゅう

[編集へんしゅう]

参考さんこう書籍しょせき

[編集へんしゅう]

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]