Javaプログラミング/Javaプログラミング関連情報

WicketでダイナミックなWeb開発!(前編)(3ページ目)

Javaプログラマなら、WebページだってJavaで書きたい。それを実現するApache Wicket、一度体験してみませんか?

執筆者:掌田 津耶乃

Wicketのファイル構成


では、Webページを作成していきましょう。Wicketでは、Webページを作成する際には以下の3つのファイルが必要となります。

・WebApplicationクラス
Webアプリケーション全体を管理するためのものです。まずはこのクラスが必要となります。ここで、表示するページのクラスを設定したりしていきます。

・WebPageクラス
Webページを作成する場合は、WebPageクラスという形で表示するコンポーネントなどを作成していきます。

・HTMLテンプレート
作成したWebPageクラスのコンポーネント類は、このHTMLテンプレートにはめ込まれてページとして表示されます。

Webアプリケーションでは、まずWebApplicationクラスを1つ作成しておきます。そして、表示するWebページごとに、WebPageクラスとHTMLテンプレートを作っていくわけです。

WebApplicationクラスの作成


では、WebApplicationクラスから作成をしましょう。ここでは、jp.allaboutパッケージに「SampleApp」というクラスで作成をしてみます。このクラスは、通常のJavaクラスとして作成をします。特別な設定や操作は不要です。

package jp.allabout;

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

public class SampleApp extends WebApplication {

  protected void init() {
    super.init();
    getRequestCycleSettings().setResponseRequestEncoding("UTF-8");
    getMarkupSettings().setDefaultMarkupEncoding("UTF-8");
    getMarkupSettings().setStripWicketTags(true);
  }
  
  @Override
  public Class getHomePage() {
    return Page1.class;
  }
}


このクラスは、org.apache.wicket.protocol.http.WebApplicationクラスを継承して作成します。ここでは2つのメソッドを用意していますね。「init」は、初期化のための処理を用意するものです。そして「getHomePage」は、ホームページのクラスを返すメソッドです。

まず、initメソッドから見てみましょう。ここではリクエストとマークアップのエンコーディング設定と、Wicket用のタグの属性に関する設定を行っています。

getRequestCycleSettings().setResponseRequestEncoding("UTF-8");

getRequestCycleSettingsは、リクエストに関する設定などを行うのに用いられる「RequestCycleSettings」クラスを取得するメソッドです。そして「setResponseRequestEncoding」は、リクエスト・レスポンスのテキストエンコーディングを設定するためのものです。ここでは、UTF-8にしておきます。

getMarkupSettings().setDefaultMarkupEncoding("UTF-8");

getMarkupSettingsは、マークアップの設定に関するIMarkupSettingsクラスを取得するものです。そして「setDefaultMarkupEncoding」は、そのエンコーディングを指定するものです。こちらも、UTF-8にしておきます。

getMarkupSettings().setStripWicketTags(true);

これはマークアップのWicket用タグに関する設定です。setStripWicketTagsは、タグに挿入されたWicket用タグを取り除くためのもので、これをtrueにすることで、生成されたWebページからWicket用タグが消されるようになります。

続いて、getHomePageです。これは、表示するページ用のクラスを返すメソッドです。後述しますが、WicketではWebページは「WebPage」クラスを継承して作成されます。このクラスをここで返すと、アクセスした際にそのクラスによって生成されたページがクライアントに送られるようになります。

ここでは「Page1.class」というクラスを返していますね。ということは、このPage1というクラスを作成しておけば、このWebアプリケーションにアクセスするとそれが表示されるようになる、というわけです。


  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます