超基本構成

さて,最初のWicketアプリケーションを作成してみる。最初なので,1ページのみの超基本構成のWebアプリケーションにしよう。表示のみの機能だが,動的な項目を一つ準備する。WTPでwicket-testプロジェクトをまだ作っていない方は,「 開発の準備をしよう」を読んで作成して欲しい。

まずは,POHPなHTMLファイルを作成する。名前は「FirstPage.html」とし,作成先は「wicket-test/JavaSource/test」とする。つまり,testパッケージを作成して,その中に配置するということである。

       

     First Page           

      

        

名前         

wicket:id=”name”>ここに名前が入る               

太字にした「wicket:id」属性がポイントである。この属性で指定した要素のBody部分が,動的コンテンツとして置換の対象となる。もちろんこの属性はWebブラウザは無視するので,以下のように単なるHTMLとして表示される。

Wicketでは,POHP1つに対して,WebPageクラスを継承したクラスを一つ準備するのが基本である。下記のように「test.FirstPage」クラスを作成する。

package test; import wicket.markup.html.WebPage; import wicket.markup.html.basic.Label;

public class FirstPage extends WebPage {   public FirstPage() {      add(new Label(“name”, “よういちろう”));   } }

コンストラクタ内で,Labelオブジェクトを生成して,addメソッドに渡して登録を行っている。Labelクラスのコンストラクタには,POHPファイル内のwicket:id属性の値と,置換後の文字列を引数として指定する。コードだけ見たら,まるでGUIアプリケーションのコードである。LabelオブジェクトがWicketにより処理され,POHPファイルのwicket:id属性で指定された部分が置換処理される。

POHPファイルとWebPageクラスが準備できたが,WicketではWebアプリケーションを管理するためのクラスとして,WebApplicationクラスのサブクラスを作成する必要がある。

package test; import wicket.ApplicationPages; import wicket.protocol.http.WebApplication;

public class FirstApplication extends WebApplication {   public FirstApplication() {     ApplicationPages pages = getPages();     pages. setHomePage(FirstPage.class);   } }

コンストラクタ内で,getPagesメソッドによりApplicationPagesオブジェクトを取得し,そのsetHomePageメソッドに先ほどのFirstPageクラスのクラスオブジェクトを渡して,このWebアプリケーションのトップページを指定している。

あとは,web.xmlファイルを作成すれば,Wicketアプリケーションの完成だ。web.xmlファイルでは,サーブレットの登録を行う。

version=”1.0” encoding=”UTF-8”?

   wicket-test         firstApplication      wicket.protocol.http.WicketServlet            

applicationClassName       

test.FirstApplication                 firstApplication      /first/*   

サーブレットとして,wicket.protocol.http.WicketServletクラスを指定する。これがWicketアプリケーションのコントローラとなる。これのapplicationClassNameパラメータに,先ほど作成したFirstApplicationクラスを指定する。この指定により,WicketServletオブジェクトはFirstApplicationオブジェクトを利用するようになる。

以上で準備完了である。Tomcatサーバを起動して,「http://localhost:8080/wicket-test/first」にWebブラウザでアクセスしてみよう。

「ここに名前が入る」という文字列が,「よういちろう」に変わったことがわかるはずだ。WebPageオブジェクトに登録されたLabelオブジェクトにより, のBody部分が置換された証拠である。

以上がWicketアプリケーションの超基本構成である。まずはここからいろいろと発展させていくのが良いだろう。

このエントリーをはてなブックマークに追加

関連記事

2023年のRemap

Remapにファームウェアビルド機能を追加しました

Google I/O 2023でのウェブ関連のトピック

2022年を振り返って

現在のRemapと今後のRemapについて