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

超高速フレームワーク「Click」(2ページ目)

わずかな学習ですぐに実用に使えるWebアプリケーションフレームワーク「Click」を覚えて高速開発に挑戦しましょう。

執筆者:掌田 津耶乃

Clickの仕組み


Clickは、「ClickServlet」と呼ばれるサーブレットを通じて全体の流れを制御します。web.xmlを開いてみると、以下のようなサーブレットが登録されていることがわかるでしょう。

<servlet>
  <servlet-name>ClickServlet</servlet-name>
  <servlet-class>net.sf.click.ClickServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>ClickServlet</servlet-name>
  <url-pattern>*.htm</url-pattern>
</servlet-mapping>

これにより、.html拡張子が指定されると、すべてClickServletに送られ処理されるようになることがわかるでしょう。これがClickの基本的な考えです。

Clickでは、それぞれのWeb画面を「ページ」として作成します。Pageは、HTMLのテンプレートと、それを制御するPageクラスから構成されます。このテンプレートは「.htm」として作成されます。クライアントが、作成された.htmlファイルにアクセスすると、ClickServletが呼び出され、そのテンプレートをロードし、Pageクラスの指定のメソッドを呼び出して処理を行い、結果を送り返す、というわけです。これにより、画面の表示と制御(つまり、ビューとコントロール)を分離しているのですね。

ページの作成


では、実際にページを作成してみましょう。Click IDEをインストールしていると、メニューバーに「クリック」という項目が追加されます。ここから「新規Clickページの作成」を選ぶと、画面にページ作成のための画面が現れます。

ここでは、作成するHTMLテンプレートとPageクラスに関する基本的な設定を行います。ここでは、以下のように設定をしておきましょう。(以下に記載した以外の項目はデフォルトのままにしておいてください

プロジェクト:(作成したプロジェクトを選択)
ウィザード・テンプレート:Blank(とりあえず使わない)

HTMLテンプレート
ファイル名:helo.htm

ページクラス
パッケージ:jp.tuyano
名前:Helo

click.xmlにマッピングを追加する:チェックをONにする

ページの作成画面。helo.htmというテンプレートと、Heloクラスを作成する。

これで、「src」のjp.tuyanoパッケージ内に「Helo.java」というソースコードファイルが、また「WebContent」内に「helo.htm」というファイルがそれぞれ作成されます。これらが、PageクラスとHTMLテンプレートファイルになります。

実は、この他にも作成されるものがあります。それは「click.xml」のソースコードです。先に「click.xmlにマッピングを追加する」のチェックをONにしてページを作成しましたが、これにより、click.xmlに以下のようなコードが自動生成されます。

<pages>
  <page path="helo.htm" classname="jp.tuyano.Helo"></page>
</pages>

Clickでは、使用するページはこのようにclick.xmlに登録をします。<pages>タグの中に、<page>タグを作成し、そこにpathとclassnameで、HTMLテンプレート名とクラス名をそれぞれ指定します。これにより、指定したHTMLテンプレートへのアクセスがあると、自動的にページクラスが呼び出されるようになるわけです。

このclick.xmlへの記述を忘れると、ページはうまく機能しません。これは、Clickの唯一の設定ファイルといってよいものです。この<page>タグの記述だけはしっかりと覚えておきましょう。
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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