Apache Wicketとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Apache Wicketの意味・解説 

Apache Wicket

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/16 14:28 UTC 版)

Apache Wicket
開発元 Apacheソフトウェア財団
最新版
9.2.0 / 2020年11月19日 (4年前) (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>


脚注

参考書籍

  • 「オープンソース徹底活用 WicketによるWebアプリケーション開発」 矢野勉 ISBN 978-4798022215

関連項目

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Apache Wicket」の関連用語

Apache Wicketのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Apache Wicketのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのApache Wicket (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS