Javaプログラミング/サーバサイド&ケータイJava

カスタムタグに挑戦!(2ページ目)

汎用的な処理をオリジナルのタグとして使えるようにしましょう。

執筆者:掌田 津耶乃

カスタムタグを作成する


では、カスタムタグを作成しましょう。カスタムタグは、大きく分けて以下の2つのファイルを準備する必要があります。

●カスタムタグの処理を記述したクラスファイル
●カスタムタグをタグとして使用できるようにするためのタグライブラリ記述子

カスタムタグは、ただタグのプログラムを作るだけでは使えません。「このライブラリをこういうタグとして利用しますよ」ということを記述したファイルを用意することで、Webアプリケーション内でそのカスタムタグが利用できるようになります。これがタグライブラリ記述子と呼ばれるファイルです。

では、NetBeans 5.5で、まずはこのタグライブラリ記述子から作成してきましょう。――<ファイル><新規ファイル>メニューを選び、現れたウインドウから「Web」カテゴリ内の「タグライブラリ記述子」を選択してください。

新規ファイルの作成ウインドウで「タグライブラリ記述子」を選んで次へ進む。


次へ進むと、タグライブラリ記述子のファイル名と保存場所などを設定する表示が現れます。タグライブラリ記述子は、「TLD」という拡張子のファイルとして保存されます。ここでは「TLD名」のところに「mytag」と記述しておきましょう。これが、これから作成するカスタムタグのライブラリの名前です。このように記述すると、「フォルダ」「URI」「接頭辞」に、それぞれ自動的に値が設定されます。これらは、そのまま変更しないで完了してください。

TLD名を記述すると、フォルダ、URI、接頭辞が自動的に設定される。


これで、WEB-INF内に「tags」というフォルダが作られ、その中に「mytag.tld」というファイルが作成されます。これが、タグライブラリ記述子のファイルです。ここではNetBeansを利用して作成しましたが、それ以外の開発環境の場合は同じようにWEB-INF/tags内にmytag.tldファイルを作成してください。

作成されたタグライブラリ記述子mytag.tldには、初期状態で以下のようなコードが作成されます。

<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
      web-jsptaglibrary_2_0.xsd">
  <tlib-version>1.0</tlib-version>
  <short-name>mytag</short-name>
  <uri>/WEB-INF/tlds/mytag</uri>
  <!-- A validator verifies that the tags are used correctly at JSP
         translation time. Validator entries look like this:
      <validator>
          <validator-class>com.mycompany.TagLibValidator</validator-class>
          <init-param>
             <param-name>parameter</param-name>
             <param-value>value</param-value>
    </init-param>
      </validator>
   -->
  <!-- A tag library can register Servlet Context event listeners in
        case it needs to react to such events. Listener entries look
        like this:
     <listener>
         <listener-class>com.mycompany.TagLibListener</listener-class>
     </listener>
   -->
</taglib>


ただし、よく見ると、<!--から-->まではコメント文ですね。ということで、整理すると初期状態で書かれているのは以下のようなものになります。

<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
      web-jsptaglibrary_2_0.xsd">
  <tlib-version>1.0</tlib-version>
  <short-name>mytag</short-name>
  <uri>/WEB-INF/tlds/mytag</uri>
</taglib>


<?xml>の後に、<taglib>というタグがあり、その中にいくつかのタグが組み込まれています。ざっとこれらのタグについて説明しておきましょう。

<taglib>タグ――これが、タグライブラリに関する記述をするためのタグです。まずこのタグを用意し、この中にタグライブラリに関する記述をします。
<tlib-version>タグ――タグライブラリのバージョンを記述します。
<short-name>タグ――タグを表記する際に使用する名前を指定します。
<uri>タグ――配置されているURIを記述します。


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

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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