Home
Jakarta Taglibs
JCPに標準化されているタグ・ライブラリ
Standard: JSTL (1.2)
サポートされているタグ・ライブラリ
Application (1.1)
Benchmark (1.1)
BSF (1.1)
Cache (1.2)
DateTime (1.1)
DBTags (1.1)
I18N (1.1)
Input (1.1)
IO (1.1)
JMS (1.1)
JNDI (1.1)
Log (1.1)
Mailer (1.1)
Page (1.1)
Random (1.1)
Regexp (1.1)
Request (1.1)
Response (1.1)
Scrape (1.1)
Session (1.1)
String (1.1)
Utility (1.1)
XSL (1.1)
XTags (1.1)
拡張ツール
UltraDev 4.0
砂箱(Sandbox)
Jakarta コミュニティ
さらに深く
メーリングリスト
CVSリポジトリ
リファレンス・ライブラリ
バグ・データベース
前提条件

JAKARTA-TAGLIBS のカスタムタグライブラリやカスタムタグライブラリ拡張(CTLX)をソースから構築するためには以下のものをダウンロードしてインストールして下さい。 (以下 $JAKARTA_HOME はダウンロードしたJakartaソフトウェアコンポーネントをインストールするディレクトリを表します。)

  • 使用するオペレーティングシステムに対応したプラットフォームのJava Development Kit(JDK) のバージョン1.1以降をダウンロードしてインストールしてください。 (いくつかのライブラリは Java2 が必要です)。JAVA_HOME 環境変数をJDK がインストールされたディレクトリを指すように設定してください。それからPATH に $JAVA_HOME/bin も追加します。
  • 最新版のJakarta Ant プロジェクト をダウンロードしてインストールして下さい。インストール先は $JAKARTA_HOME/jakarta-ant です。Ant のソース配布物をダウンロードした場合は次のようにして実行可能なものを作成します。
            cd $JAKARTA_HOME/jakarta-ant
    	./bootstrap.sh                      <-- Unix の場合
    	bootstrap                           <-- Windows の場合
    
    以上の操作によって $JAKARTA_HOME/jakarta-ant/dist/lib ディレクトリに ant.jar が出来ます。ANT_HOME 環境変数を Ant の配布ディレクトリ$JAKARTA_HOME/jakarta-ant/distを指すように設定してください。また $ANT_HOME/bin を PATH に加えて下さい。
  • Java API for XML Parsing の実装Apache XML Xerces のような JAXP互換のパーサーをダウンロード、インストールし、必要なライブラリの場所を CLASSPATH 環境変数に追加して下さい。
  • XSLT 変換プロセッサ Apache XML Xalan の最新版をダウンロードし必要なライブラリを CLASSPATH 環境変数に追加します。
  • サーブレット 2.2 と JSP 1.1 の API を $JAKARTA_HOME/jakarta-servletapi というディレクトリにインストールして下さい。 サーブレット 2.2 と JSP 1.1 のjarファイルは次の場所から取得できます。
    http://jakarta.apache.org/tomcat/
    もしソース配布物をダウンロードした時は次の方法で実行可能なバージョンを作成できます。
            cd $JAKARTA_HOME/jakarta-servletapi
    	./build.sh dist                     <-- Unix の場合
    	build dist                          <-- Windows の場合
    
    上記を実行すると libディレクトリに servlet.jarが出来ているはずです。
  • カスタムタグライブラリを実行するには サーブレット API の バージョン 2.2 もしくはそれ以上の仕様と互換のあるサーブレットコンテナが必要です。JavaServer Pages(JSP)は バージョン 1.1 以上の仕様をサポートしたものが必要です。 この条件を満たしたサーブレットコンテナはたくさんあります。一つとしてJakarta プロジェクトの Tomcat サーブレットコンテナは(上記条件を満たしているものです)Jakartaウェブサイトにあります。

ダウンロードとインストール

その他の Jakarta プロジェクトの成果物と同様に JAKARTA-TAGLIBS のソース配布物は Jakarta ウェブサイト http://jakarta.apache.org/site/sourceindex.html から取得できます。

JAKARTA-TAGLIBS の配布物を上記リンクからダウンロードし展開して、前述$JAKARTA_HOME の下の jakarta-taglibs というサブディレクトリに格納して下さい。例えば最終的なディレクトリ構造は以下のようになります。

$JAKARTA_HOME/
    jakarta-ant/                <-- Contains source distribution of Ant; Ant のソース
        dist/                   <-- Contains binary distribution of Ant; Ant のバイナリ
            lib/                <-- Binary libraries directory; Ant のライブラリ
	        ant.jar         <-- Ant executable classes; Ant の実行可能なクラス
    jakarta-servletapi/		<-- Contains binary distribution of Servletapi; サーブレットAPIのバイナリ版
        lib/                    <-- Binary libraries directory; ライブラリディレクトリ
	    servlet.jar         <-- Servlet API classes; サーブレットAPIクラス
    jakarta-taglibs/            <-- Contains source distribution of the
                                    JAKARTA-TAGLIBS libraries ; 
                                    JAKARTA-TAGLIBS ライブラリのソース
        ... see below for details (詳細については以下を参照) ...
    jakarta-tomcat/             <-- Contains Tomcat (if you are using it); 
                                       もし Tomcat を使用しているならば Tomcat

ディレクトリ構造

配布物のアーカイブは以下のようなディレクトリ構造を持っています。

  • .cvsignore - CVSが無視をするファイルやディレクトリを記述したCVSの設定ファイル
  • LICENSE - Jakarta プロジェクトのソフトウェアの配布基準となっている Apache Software Foundation のライセンスのコピー
  • README - 参照可能なドキュメントのありかを示している README ファイル
  • HOWTO-RELEASE - JAKARTA-TAGLIBS のリリース手順についての説明
  • build.properties.sample - jakarta-taglibs を構築する上で必要な APIの Jarファイルの場所を記述した Ant プロパティファイルの例。
  • build.xml - Ant が全カスタムタグライブラリを構築するのに必要な情報を記載した XML ファイル。このファイルの内容に関する詳細はAntのドキュメントを参照して下さい。
  • common.xml - Ant が個別のタグライブラリを構築する上で共通の過程を記述した XML ファイル。
  • common.properties - Ant が common.xml とともに使用するプロパティファイル
  • doc/ - この文書を含めたJAKARTA-TAGLIBS プロジェクトのドキュメント群(動的に生成されないもの)が入っているディレクトリ 次のドキュメントがこの中にはあります。
  • src/ - jakarta-taglibs タグライブラリとその文書を自動的に生成するためのソースファイルが格納されているディレクトリ。次のファイルとディレクトリがあります。
    • doc/ - http://jakarta.apache.org/taglibs のウェブサイトの内容を自動的に生成するためのソースファイルを格納している。
      • index.xml - 生成のために使用される内容 http:/jakarta.apache.org/taglibs/index.html
      • addtaglib.xml - 生成のために使用される内容 http:/jakarta.apache.org/taglibs/addtaglib.html
      • binarydist.xml - 生成のために使用される内容 http:/jakarta.apache.org/taglibs/binarydist.html
      • guidelines.xml - 生成のために使用される内容 http:/jakarta.apache.org/taglibs/guidelines.html
      • sourcedist.xml - 生成のために使用される内容 http:/jakarta.apache.org/taglibs/sourcedist.html
      • tutorial.xml - 生成のために使用される内容 http:/jakarta.apache.org/taglibs/tutorial.html
      • project.xml - http:/jakarta.apache.org/taglibs/ の文書の左側に表示されるナビゲーションメニューの内容
      • taglibs_docs.dtd - index.xml と intro.xml に使われている DTD
      • images/jakarta-logo.gif - Jakarta のロゴ
      • images/taglibs.gif - JAKARTA-TAGLIBS のロゴ
      • stylesheets/taglibs.xsl - xml を http:/jakarta.apache.org/taglibs/ 文書に変換するための XSL
    • taglib/ - 個別のタグライブラリの説明ドキュメントとタグライブラリディスクリプタ(TLD)ファイルを自動生成するための共通ソースファイルを格納しているディレクトリ
      • changes-doc.xsl - taglib説明ドキュメントの changes.html を生成するために使用されている XSL スタイルシート
      • examples.xsl - 使用例の war ファイルと JSP のソースや html を生成するために使用されている XSL スタイルシート
      • taglib-doc.xsl - タグライブラリのドキュメントを構築するために使用されている XSL スタイルシート
      • tld11.xsl - タグライブラリ TLD ファイルを生成するために使用されている XSL スタイルシート
    • taglib-template/ - 新しいタグライブラリを作る上でテンプレートとして使用できるディレクトリやファイルが入っているディレクトリ
      • build.xml - build ファイルのテンプレート
      • doc - {taglib-name}-doc.war を生成するためのソースディレクトリ
      • doc/conf/web.xml - {taglib-name}-doc ウェブアプリケーション(タグライブラリのドキュメント)の web.xml のテンプレート
      • examples - {taglib-name}-examples.war を生成するためのソースディレクトリ
      • examples/conf/web.xml - {taglib-name}-examples ウェブアプリケーションの web.xml のテンプレート
      • xml/intro.xml - JAKARTA-TAGLIBS サイトで公開されるタグライブラリの intro.html 文書を生成するために使用されるタグライブラリ XML データのテンプレート
      • xml/taglib-template.xml - タグライブラリとタグの XML データのテンプレート
  • JAKARTA-TAGLIBS プロジェクトに含まれている個々のタグライブラリのディレクトリ。 そのディレクトリ名はプロジェクトの簡略名と一致します。 カスタムタグライブラリ拡張(CTLX)は tools/{tool}/{version} に入ります。それぞれのディレクトリは以下のようなファイルとサブディレクトリを持っています。
    • このカスタムタグライブラリを構築(ビルド)する手順を記述している XML ファイル。 このファイルの内容については Ant のドキュメントを参照して下さい。
    • doc/ - このタグライブラリを使用する開発者用のドキュメントウェブアプリケーションのためのソースコード(Javaのクラス、リソースファイル、HTMLファイル、JSPページなどが含まれる) このウェブアプリケーションは バイナリ配布物に含まれる{taglib}-doc.war ウェブアプリケーションアーカイブに統合されます。このウェブアプリケーションの内部ディレクトリ構造については以下を参照して下さい。
    • examples/ - このカスタムタグライブラリのカスタムタグの使用法を例示するウェブアプリケーションのソースコード(Javaクラス、リソースファイル、HTMLファイル、JSPページ等を含む) このウェブアプリケーションは バイナリ配布物に含まれる{taglib}-examples.war ウェブアプリケーションアーカイブに統合されます。このウェブアプリケーションの内部ディレクトリ構造については以下を参照して下さい。
    • src/ - カスタムタグライブラリを構成するJavaのソースコードとリソースファイルです。 通常どおりソースディレクトリの内部ディレクトリ構成はJavaのパッケージ名と相応します。名前の衝突を避けるためにそれぞれのカスタムタグライブラリのパッケージ名はorg.apache.taglibs.{taglib}でなければなりません。 そうすれば複数のJAKARTA-TAGLIBS が同一アプリケーションで使用可能になります。
    • xml/ - タグライブラリドキュメントとタグライブラリディスクリプタ(TLD)ファイルを 生成するために使用される XML データファイルが格納されているディレクトリ
      • intro.xml - JAKARTA-TAGLIBS サイトに公開されるタグライブラリの intro.html を生成するために使用される XML データ
      • {taglib-name}.xml - タグライブラリドキュメントとTLDファイルのために使用されるタグライブラリとタグの XML データファイル

それぞれのカスタムタグライブラリのdoc/examples/ ディレクトリの中はそのアプリケーションのソースファイルを保持するために次のような構成になっています。

  • conf/ -- WEB-INF サブディレクトリにコピーされるこのアプリケーションのための web.xmlファイルとその他のファイル
  • src/ -- このアプリケーションのためのJavaのソースコードとリソースファイル。 パッケージ名は任意ですがドキュメントアプリケーションにはorg.apache.taglibs.{taglib}.docという名前、例題アプリケーションにはorg.apache.taglibs.{taglib}.examplesという名前が推奨されています。
  • web/ -- このアプリケーションのユーザインターフェースを構成する HTML ファイルと JSP ページ。サーブレットコンテナに配備された場合にはこのディレクトリに含まれるindex.html または index.jspというページがトップページとなります。

JAKARTA-TAGLIBS の構築

JAKARTA-TAGLIBS に含まれるすべてのカスタムタグライブラリを配布用に構築するためにはソース配布物を展開したディレクトリの jakarta-taglibs にカレントディレクトリを変更してください。

  • まず build.properties.samplebuild.properties にコピーします。
  • それから build.properties を編集し、JARファイルのプロパティにそのJAKARTA-TAGLIBS を構築するために必要なJARファイルのファイル名を絶対パスで記述します。
  • antをシェルまたはコマンドラインで実行し、全 JAKARTA-TAGLIBS のタグライブラリを構築します。

構築した結果、前述したディレクトリの他に以下の2つのディレクトリ構造が作成されます。

jakarta-taglibs/
    build/           <-- JAKARTA-TAGLIBS カスタムライブラリの構築の直接の成果物を含んでいます
    dist/            <-- JAKARTA-TAGLIBS プロジェクトのバイナリ配布物のドキュメントに記述してあるような配布物のイメージ

開発中に特定なカスタムタグライブラリの作業をしている場合はその特定なライブラリのみを 構築するのが早道です。そうするにはそのカスタムタグライブラリのトップディレクトリを変更します。(例えば JSP Specific Examples タグライブラリの作業をするならばjakarta-taglibs/jspspec という具合に。なにをしたいかによって Ant ビルドのいくつかの種類の一つを使うことが出来ます。次のケースではantをシェルまたはコマンドラインで特定の ant ビルドターゲットを構築するために使用しています。

    注: いくつかのタグライブラリはbuild.shシェルスクリプト(unixの場合)またはbuild.bat(DOSプロンプトの場合)を使う必要があります。
  • デフォルト -- ライブラリの中間形式(build/ディレクトリに入る)を更新する。変更があった静的なファイルをコピーし、変更したJavaのソースクラスを再コンパイルします。これが一番よく行われることなので、デフォルトとなっています。
  • library -- ライブラリクラスのみの中間結果を更新します。コンパイルが通るかどうかをチェックする時に有用です。
  • documentation -- ドキュメントアプリケーションの中間結果を更新します。もしTomcatのように解凍されたアプリケーションを受け入れるサーブレットコンテナを使用している場合にはドキュメントルートとして build/{taglib}/doc/ を設定することによってそのアプリケーションを直接動作させることが可能です。
  • examples -- 例題アプリケーションの中間結果を更新します。このことはライブラリクラスを WEB-INF/classesディレクトリにコピーすることも含みます。もしTomcatのように解凍されたアプリケーションを受け入れることが出来るサーブレットコンテナを使用している場合にはドキュメントルートとして build/{taglib}/examples/ を設定することによってそのアプリケーションを直接 動作させることが可能です。
  • library-dist -- {taglib}.jar{taglib}.jar を配布ディレクトリ(dist/{taglib}/)にコピーします。この配布用のファイルはそのカスタムタグライブラリを使用しようとしているウェブアプリケーションにそのままコピーできます。
  • documentation-dist -- {taglib}-doc.war ドキュメントアプリケーションを構築し、配布ディレクトリ(dist/{taglib}/)にコピーします。このアプリケーションはサーブレットコンテナに配置して実行することが可能です。
  • examples-dist -- 例題アプリケーション {taglib}-examples.war を構築して配布用ディレクトリ (dist/{taglib}/) コピーします。このアプリケーションもサーブレットコンテナに配置して実行することが可能です。
  • dist --  library-distdocumentation-dist, と examples-dist の3つの配布用ターゲットを構築するための短縮形です。
  • clean -- 最初の状態から再構築ができるように中間結果、配布用のディレクトリの中身を消去します。

次のディレクトリとファイルが構築(ビルド)の際に作成されます。

  • build/{taglib-name}/ - タグライブラリ用にビルドされるディレクトリとファイルの配置場所
  • build/{taglib-name}/{taglib-name}/ - {taglib-name}.jar ファイルを作成するために使用されるコンパイルされたjavaクラスファイル。
  • build/{taglib-name}/{taglib-name}-doc/ - {taglib-name}-doc.war を作成するために使用されるファイルと http://jakarta.apache.org/taglibs/doc/{taglib-name}-doc/intro.html に公開されるための intro.html ファイル。
  • build/{taglib-name}/{taglib-name}-examples/ - {taglib-name}-examples.war ファイルを作成するために使用されるファイル。

配布物生成時(ディストリビューションビルド)中に作成されるファイルとディレクトリは以下のとおりです。

  • dist/{taglib-name}/ - バイナリ配布物が格納されるディレクトリ
  • dist/{taglib-name}/{taglib-name}.jar - タグライブラリを構成するクラスファイルのJar
  • dist/{taglib-name}/{taglib-name}.tld - タグライブラリのタグライブラリディスクリプタ
  • dist/{taglib-name}/{taglib-name}-doc.war - タグライブラリドキュメントアプリケーションのwarファイル
  • dist/{taglib-name}/{taglib-name}-examples.war - タグライブラリ例題アプリケーションのwarファイル

グローバルビルドをする場合にはdistターゲットはそれぞれのサブプロジェクト毎に呼び出されます。

新規の JSP カスタムタグライブラリとカスタムタグ拡張を JAKARTA-TAGLIBS に追加する場合は タグライブラリの追加 を参照して下さい。


Copyright © 2000, Apache Software Foundation