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リポジトリ
リファレンス・ライブラリ
バグ・データベース
カスタムタグライブラリやCLTXの追加
JAKARTA-TAGLIBS コミッターからの承認
新規タグライブラリの作成またはCTLXディレクトリとファイルの構成
タグライブラリのコーディング規約
タグライブラリへのタグの追加
タグライブラリの構築
タグライブラリの jakarta-taglibs リポジトリへの追加
タグライブラリのhttp://jakarta.apache.org/taglibs への公開
マイルストーン版のリリース
ベータ版のリリース
正式版のリリース
リリースマネージャの役目
JAKARTA-TAGLIBS コミッターからの承認

新規のタグライブラリまたはctlx の作成は taglibs-dev メーリングリストに提案されなければなりません。ソースリポジトリにはそれが承認されたときにはじめて追加されます。この手続きにはタグライブラリや ctlx にユニークな{taglib-name}を選択することが含まれます。その{taglib-name}はjakarta-taglibsソースリポジトリにあるタグライブラリのディレクトリとファイル名の一部として使用されます。

新規タグライブラリの作成またはCTLXディレクトリとファイルの構成

新しいタグライブラリやCTLX用のディレクトリやファイルの構成は ant のビルドターゲットnew.taglibnew.ctlxで作ることができます。

    ant new.taglib -Dtaglib.name=cooljsp

    新しいタグライブラリをjakarta-taglibs/cooljsp配下に作成します。

    ant new.ctlx -Dctlx.name=coolctlx1 -Dctlx.path=tools

    新しいCTLXをjakarta-taglibs/tools/coolctlx1配下に作成します。


上記のように作成されたxmlファイルをカスタマイズして新しいタグライブラリを作る必要があります。 xmlファイル内の変更すべきテキストを大括弧{ .. }で囲んで一覧にしました。

  • {taglib-name} - タグライブラリや ctlx のニックネームで置き換えてください。
  • {display-name} - 文書の中で使用されているタグライブラリの名前を置き換えてください。
  • {your-name} - タグライブラリの作成者、つまり、あなたの名前で置き換えてください。

もし新しく作成するタグライブラリがservlet.jar以外のAPIまたは指定された以外のバージョンのAPIを使っている時はjakarta-taglibs/build.properties.sampleを参照し、プロパティがすでにそのAPIを表すように構成されているかどうかをチェックして下さい。
もし構成されていなければ、 jakarta-taglibs ビルドの時、そのタグライブラリに必要なjarファイルが使用できるように、新しいプロパティを付け加えてください。 追加のJARファイルのサポートを付加する場合はタグライブラリのbuild.xmlを参考にしてください。

タグライブラリのコーディング規約

タグライブラリをインプレメントするすべてのクラスはorg.apache.taglibs.{taglib-name}というパッケージで作成されなければなりません。

HOWTO-RELEASEファイルを読んで下さい。この文書はタグライブラリのリリースサイクルについて説明しています。

Apache Software Foundation のライセンス条項をすべての java ソースコードの先頭に付けておいてください。

Apache Software Foundation ライセンス条項の2行目から以下のCVSタグをつけてください。

 * $Header$
 * $Revision$
 * $Date$
ファイルがコミットされるたびにCVS は上記のタグを元に変更履歴を書き込んでいきます。

JavaDoc が作成するタグライブラリのAPIの説明を生成できるように適切なコメントをつけてください。

標準的なjava のコーディング規約に則ってください。

次のような規約に基づいて、タグ、属性、スクリプト変数ビーン属性の名前を付けてください。

    最初の文字は小文字です。タグ名、属性、プロパティの名前が複数の語句から成っている場合は最初の語句以外の語句の先頭文字を大文字にしてください。 たとえば次のようにです。 theSecondWord.

JSPタグのライフサイクルがどのようにJSPタグのデザインに影響を及ぼすかが明確でない場合は、 Taglib開発者へのガイドラインを参考にして下さい。

Java のクラスの命名については次のガイダンスにしたがってください。

  • JSP タグを実装しているクラスについてはタグ名の後に"Tag"を追加した クラス名にしてください。 たとえば"newBook"タグのクラス名はNewBookTagのようになります。
  • ビーンや属性、タグ中のスクリプト変数を実現するための別なクラスがある場合は そのタグ名をクラス名にしてください。 もし"newBook"タグが AT_END スコープを持つスクリプト変数を生成するときは、 そのスクリプト変数を表すクラスは NewBook という具合になります。
  • スクリプト変数をそのタグが作成する場合のTagExtraInfoクラスの名前は タグ名の後にTEI が付いたものにしてください。"newBook"タグの TagExtraInfo クラスのクラス名は NewBookTEI となります。

もし新規に作成するタグライブラリが、外部のJARファイルを必要とするとき、 CVSリポジトリにそれらのファイルをチェックインしてしまいたいと思うかもしれ ません。しかし、このような行為は Jakarta プロジェクトのガイドラインによって禁止 されています。共有ライブラリのバージョンの相互依存関係のために多くのエラーを引き起こしかねないからです。 そのかわりにそのライブラリに必要なライブラリやその他のコンポーネントの取得の方法を文書化しておいてください。

タグライブラリへのタグの追加

cd コマンドなどで、作成するタグライブラリのディレクトリに入ってください。

新しい <tag>宣言をxml/{taglib-name}.xmlに追加してください。

新しいタグを作成するための java ソースコードを記述します。

examples/web/ディレクトリに新しいタグをテストするための静的ページやjspのページを入れます。 そのjspページの最初の行で <!doctype html public "-//w3c//dtd html 4.0 transitional//en">のような xml 文書タイプを記述してください。 テスト用のwar ファイルの生成時に、それぞれのjspファイルに対応するhtmlファイルが自動的に生成されます。 「ソースを参照」のリンクを追加するために、jspソースから生成されたhtmlファイルへのリンクを静的なhtmlやjspファイルに記述することができます。 たとえば foo.jsp というjspに対応するhtmlファイルは foo.html といった名前で生成されます。

タグライブラリの構築

cd コマンドなどで、タグライブラリのディレクトリに入ってください。

Ant を使用してのタグライブラリの構築の仕方についてはJAKARTA-TAGLIBS ソースディストリビューションの使用にあたって を参照して下さい。

jakarta-taglibs リポジトリへのタグライブラリの追加

jakarta-taglibs へのコミット権限がなければ、そのタグライブラリのソースを zip で圧縮し、taglibs-dev メーリングリストにタグライブラリの追加をしたい旨を伝えてください。

もしコミット権限をもっているならば CVS を利用して新しいタグライブラリのディレクトリとファイルを add し、それから commit してください。jakarta-taglibs リポジトリでの CVS の使い方 については CVSの使用文書中の「Full Remote CVS Access」のセクションを参照して下さい。

タグライブラリのhttp://jakarta.apache.org/taglibs への公開

jakarta-taglibsにカレントディレクトリを変更してください。

src/doc/index.xmlを編集します。

    <newsitem><news>セクションの先頭につけ、新しい タグライブラリについてアナウンスします。
    <!-- news item の例
         <newsitem date="05/19/2001" libname="MyTaglib">
           The new cool MyTaglib has been added. (チョーかっこいい MyTaglib が加わります)
         </newsitem>
    -->
    
    タグライブラリには<taginfo><tagindex>セクションに追加してください。
    <!-- taginfo の例。初期状態は「開発中」であること。
    Example taginfo, initial state should be "develop"
         <taginfo name="DBTags" state="develop">
           DBTags (以前は JDBC と呼ばれていた)タグライブラリには
           SQLデータベースの読み書きに役立つタグが入っています。
         </taginfo>
    -->
    
    カスタムタグライブラリ拡張(CTLX)には<ctlxindex>セクションに <ctlxinfo>を追加してください。
    <!-- ctlxinfoの例
        <ctlxindex>
          <ctlxinfo name="UltraDev" state="develop">
            UltraDev CTLX は UltraDev 4.0 を利用した JSP ページを作る際に使用する JSPカスタムタグを提供します。
          </ctlxinfo> 
        </ctlxindex>
    -->
    

新しいタグライブラリができたことを公表するために、{taglib-name}/xml/intro.xmlを編集し、<news>セクションに<newsitem>を追加してください。

src/doc/project.xmlファイルを編集してください。タグライブラリについては <menu>の「個々のタグライブラリ」の場所に<item>を 追加し、ctlx については「カスタムタグライブラリ拡張」に<item>を追加 してください。

jakarta-taglibs build.xml を編集します。

    新規のタグライブラリは ctlx をビルドするために <target> を追加します。
    <!-- タグライブラリターゲットの例
      <target name="log">
        <ant dir="./log" target="dist"/>
      </target>
    -->
    
    <!-- ctlx ターゲットの例
      <target name="ultradev4">
        <ant dir="./tools/UltraDev/4.0/ctlx" target="dist"/>
      </target>
    -->
    
    {taglib-name}<target>のファイルの末尾の方にある、 depends 属性に"dist"という名前で追加します。

メインの jakarta-taglibs ディレクトリでant dist構築を行って、 すべてのjakarta-taglibs の 配布 ビルドをテストしてみてください。

メインの jakarta-taglibs ディレクトリ中で、ant compile.documentation構築を行い、 Jakarta ウェブサイトページを生成してください。

jakarta サイトに公開されるタグライブラリや ctlx のweb ページは build/{taglib-name}/{taglib-name}-doc/にあります。

すべてのものが正しくビルドされたことを確認したら、jakarta-taglibs CVS リポジトリにそれらの変更をすべてコミットしてください。

この時点ではまだそのタグライブラリの状態は「開発中」のままです。

次に述べるナイトリービルドで、そのタグライブラリは http://jakarta.apache.org にあるタグライブラリについてのjakarta-taglibsの情報に加えられます。

毎晩 http://jakarta.apache.org では次の更新をするスクリプトが動きます。

  • メインの http://jakarta.apache.org/taglibs ページでは作成された newsitem が 表示され、タグライブラリへのリンクが左側のナビゲーションバーに追加されます。
  • そのタグライブラリについての情報がhttp://jakarta.apache.org/taglibs/doc/{taglib-name}-doc/に入ります。
  • そのタグライブラリの開発バージョンのドキュメントがhttp://jakarta.apache.org/taglibs/doc/{taglib-name}-doc/nightly/にできます。
  • ナイトリービルドのバイナリ配布物がhttp://jakarta.apache.org/builds/jakarta-taglibs/nightly/projects/{taglib-name}にできます。これは現行のタグライブラリの開発メインブランチのバイナリスナップショットです。
  • タグライブラリ開発メインブランチにはjakarta-taglibs のソースとバイナリ配布物のナイトリースナップショットビルドが含まれます。
    • http://jakarta.apache.org/builds/jakarta-taglibs/nightly/
    • http://jakarta.apache.org/builds/jakarta-taglibs/nightly/src/

マイルストーン版のリリース

マイルストーンリリースを行う時には HOWTO-RELEASE ファイルを見てください。

タグライブラリのデザインがすべてインプレメントされたなら、このステップは飛ばして、ベータ版のリリースにいってください。

taglibs-dev メーリングリストにマイルストーン版を公開したいと伝えてください。jakarta-taglib 委員に承認されてはじめてマイルストーン版のリリースができます。

Taglibのメジャー、マイナー、マイルストーンリリース番号を決めてください。マイルストーン版のバージョンは1から始まり、順次番号があがって行きます。

リリース名({release-name})は{taglib-name}-{major}.{minor}-M{milestone-number}のようになります。

そのリリースのファイル名は、jakarta-taglibs-{release-name}.zipjakarta-taglibs-{release-name}.tar.gzです。

jakarta ウェブサイトsrc/doc/index.xmlを編集して更新し、

  • <newsitem>を追加してマイルストーンリリースをアナウンスしてください。

jakarta ウェブサイトのドキュメント{taglib-name}/xml/intro.xml を編集し次のように更新してください。

  • <newsitem>を追加してマイルストーン版のことを公表すること。
  • Download セクションの {taglib-name}タグライブラリのリリースのダウンロードについての部分のコメントを撤去。
  • Documentation セクションから {taglib-name} タグライブラリのリリースドキュメントの部分のコメントを撤去

xml/{taglib-name}.xml の <revision> セクションを更新して、新しいタグライブラリのchanges.htmlが最新のものになるようにします。

{taglib-name}とjakarta-taglibsの変更を CVS にコミットすることを忘れないで下さい。

CVS に {taglib-name} ソースのブランチを作る。

  • cdコマンドなどで、jakarta-taglibs/{taglib-name}/にカレントディレクトリを変更します。 cvs tag -b {taglib-name}-{major}-{minor}-M{milestone-number}.
  • ローカルにあるjakarta-taglibs/{taglib-name}/はまだ開発のメインブランチと同じものです。

taglibs-dev メーリングリストへメールを投稿して、Jakarta-Taglibs プロジェクトリリースマネージャにタグライブラリやCTLXのマイルストーンリリースをお願いしてください。

タグライブラリのリリース分のドキュメントは下記の場所に入ります。 http://jakarta.apache.org/taglibs/doc/{taglib-name}-doc/{release-name}/

タグライブラリのリリース分は下記の場所からダウンロード可能です。 http://jakarta.apache.org/builds/jakarta-taglibs/releases/{taglib-name}/

ベータ版のリリース

ベータ版をリリースする際には HOWTO-RELEASE ファイルを参照して下さい。

taglibs-dev メーリングリストにベータ版がリリースされることを伝えてください。 jakarta-taglib 委員が承認したらベータリリースを行うことができます。

メージャ、マイナー番号、バグ修正、ベータリリース番号を決めてください。 ベータ版のバージョン番号は1から始まり順次リリースにしたがって増加します。

リリース名 {release-name}{taglib-name}-{major}.{minor}.{bug-fix}-B{beta-number}のようになります。

この場合ファイル名は、jakarta-taglibs-{release-name}.zipjakarta-taglibs-{release-name}.tar.gzです。

src/doc/index.xmlを編集して、jakarta ウェブサイトを更新してください。

  • <newsitem>を追加し、ベータリリースであることをアナウンスします。
  • taglibやctlx の<taginfo><ctlxinfo>の状態をbetaに変更します。

{taglib-name}/xml/intro.xmlを次のように変更することによってjakarta web site ドキュメントを更新して下さい。

  • <newsitem>を追加してベータリリースであることをアナウンスします。
  • Download セクション中の {taglib-name} タグライブラリのリリースのダウンロードの部分の コメントを撤去します。
  • Documentation セクション中の {taglib-name} タグライブラリのリリースのドキュメント部分から コメントを撤去します。

xml/{taglib-name}.xml の <revision> セクションを変更し、新しいタグライブラリの changes.html が最新のものになるようにします。

{taglib-name}とjakarta-taglibsの変更を CVS にコミットすることを忘れないで下さい。

次のようにして{taglib-name} ソースのブランチを CVS に作成します。

  • jakarta-taglibs/{taglib-name}/にカレントディレクトリを変更します。 cvs tag -b {taglib-name}-{major}-{minor}-{bug-fix}-B{beta-number}を実行します。
  • まだ jakarta-taglibs/{taglib-name}/のローカルコピーは開発メインブランチにセットされたままです。

taglibs-dev メーリングリストにメールを投稿し、Jakarta-Taglibs プロジェクトのリリースマネージャにタグライブラリまたはCTLXのベータ版のリリースをしたいことを伝えてください。

タグライブラリのリリースドキュメントはhttp://jakarta.apache.org/taglibs/doc/{taglib-name}-doc/{release-name}に置かれます。

タグライブラリのリリースはhttp://jakarta.apache.org/builds/jakarta-taglibs/releases/{taglib-name}/ からダウンロードできます。

正式版のリリース

正式版をリリースする場合も HOWTO-RELEASE ファイルを参照して下さい。

taglibs-dev メーリングリストに正式版をリリースすることを伝えてください。 jakarata-taglib 委員に承認されたらリリースをすることができます。

そのタグライブラリのメジャー、マイナー、バグフィックスの番号を決めてください。

リリース名{release-name}{taglib-name}-{major}.{minor}.{bug-fix}のようになります。

正式版のファイル名はjakarta-taglibs-{release-name}.zipjakarta-taglibs-{release-name}.tar.gzになります。

src/doc/index.xmlを次のように変更して jakarta ウェブサイトを更新してください。

  • <newsitem>を付け加えて、正式版のリリースをアナウンスしてください。
  • <taginfo> または <ctlxinfo>の状態をreleasedに変更します。

{taglib-name}/xml/intro.xmlを編集して、jakarta ウェブサイトのドキュメントを更新してください。

  • <newsitem>を付け加え、正式版のリリースをアナウンスします。
  • Download セクションを {taglib-name} タグライブラリをダウンロードできるようにコメントを取り去ります。
  • Documentation セクションから {taglib-name} タグライブラリのドキュメントが見れるようにコメントを取り去ります。

xml/{taglib-name}.xml の<revision>セクションを changes.html ファイルが最新に保たれるように変更します。

必ず すべての{taglib-name} と jakarta-taglibs の変更を CVS にコミットしてください。

{taglib-name} ソースのブランチを CVS の中に作成します。

  • jakarta-taglibs/{taglib-name}/にカレントディレクトリを変更します。 cvs tag -b {taglib-name}-{major}-{minor}-{bug-fix}を実行してください。
  • ローカルコピーのjakarta-taglibs/{taglib-name}/はまだ開発メインブランチをさしています。

taglibs-dev メーリングリストの Jakarta-Taglibs プロジェクトのリリースマネージャにタグライブラリやCTLXの正式版をリリースしたい旨を伝えてください。

タグライブラリの正式版のドキュメントは http://jakarta.apache.org/taglibs/doc/{taglib-name}-doc/{release-name}/ にあります。

タグライブラリの正式版は以下の場所からダウンロード可能です。 http://jakarta.apache.org/builds/jakarta-taglibs/releases/{taglib-name}/

リリースマネージャの役目

前提条件:

  • リリースを行うjakarta-taglibs 委員はシェルアカウントをアパッチウェブサーバに持っていなければなりません。
  • jakarta-taglibs 委員はリリースに電子サインを施すためにPGP キーを持っていなければなりません。 以下を参照して下さい。 http://jakarta.apache.org/builds/jakarta-taglibs/releases/KEYS

リリースの構築

  • この作業はタグライブラリ共通の ant build によって行います。もしそれを使わないのであれば、自分で用意してください。
  • CVS より jakarta-taglibs のクリーンコピーをチェックアウトします。 cvs co jakarta-taglibs.
  • リリースするタグライブラリがあるディレクトリにカレントディレクトリを変更します。 cd jakarta-taglibs/{taglib-name}.
  • ant を使用して、リリースバージョンのソースコードからリリース版構築パスにてビルドを行ってください。
    ant -Drelease={release-version} -Ddist.dir=../dist/jakarta-taglibs release.
  • dist ディレクトリに出来上がったタグライブラリのリリース用 .gz と .zip ファイルに署名を施してください。

その出来上がったリリースを http://jakarta.apache.org/ に公開します。

  • dist ディレクトリに出来上がったリリースされたドキュメントをjakarta-taglibs ウェブサイトのリリースに従ったディレクトリに公開します。 すべてのディレクトリやファイルにグループに対する書き込み許可があることを確認してください。
  • リリースディストリビューションと.ascファイルをウェブサイトのリリースディレクトリに公開してください。すべてのディレクトリやファイルにグループの書き込み許可があることを確認してください。
  • リリースを announcements@jakarta.apache.org, taglibs-user@jakarta.apache.org, and taglibs-dev@jakarta.apache.org にアナウンスしてください。


Copyright © 2000, Apache Software Foundation