Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)
アプリケーションサーバでは,タグライブラリをJ2EEアプリケーションに格納し,JSPから使用できます。
J2EEアプリケーションに格納されたタグライブラリをJSPから使用する方法は,JSPをJ2EEサーバでコンパイルするかcjjspcコマンドでコンパイルするかによって異なります。
それぞれの方法について説明します。
タグライブラリをライブラリJARに格納することで,JSPから使用できます。
タグライブラリをライブラリJARとしてJ2EEアプリケーションに格納した場合,web.xmlの<taglib>要素でTLDファイルを指定できません。この場合,JSPファイルのtaglibディレクティブのuri属性で,TLDファイルの<uri>要素に指定されたURIを指定してください。Webアプリケーション開始時に,ライブラリJARに格納されたTLDファイルがWebコンテナによって検索され,TLDファイルの<uri>要素に記述されたURIとそのTLDファイル自身がマッピングされます。
なお,<uri>要素がない場合はURIとそのTLDファイル自身はマッピングされません。
ライブラリJAR内のTLDファイルのマッピングは最も優先順位が低いマッピングです。このため,URIとTLDファイルのマッピングで,ライブラリJAR内のTLDファイルのURIがほかのTLDファイルやweb.xmlと重複しても,07-60以前のバージョンで動作していたJ2EEアプリケーションの動作に影響はありません。ライブラリJAR内のTLDファイルのマッピングの優先順位については,「6.2.6(7) taglibディレクティブのuri属性で指定するURIとTLDファイルのマッピングについて」を参照してください。
JSPファイルでは,taglibディレクティブのuri属性でURIを指定することでタグライブラリを使用できます。
タグライブラリをライブラリJARに格納する場合に使用できるタグライブラリの機能は,カスタムタグおよびリスナです。
タグファイルは使用できません。JSPファイルまたはタグファイルで,ライブラリJARに格納されたタグファイルを使用した場合,ライブラリJARに格納されたTLDファイルの<tag-file>要素が無視されます。そのため,タグファイルが存在しないと見なされて,JSPトランスレーション時にトランスレーションエラーとなります。
JARファイル内のタグライブラリをcjjspcコマンドの-classpathオプションでクラスパスに指定することで,WebアプリケーションのWEB-INF/libディレクトリ以外に配置したタグライブラリをJSPから使用できます。
クラスパスに指定したJARファイルに含まれるTLDファイルが自動的に検出され,TLDファイルの<uri>要素で指定したURIとそのTLDファイル自身がマッピングされます。
クラスパスに指定したJARファイル内のTLDファイルのマッピングは最も優先順位が低いマッピングです。このため,URIとTLDファイルのマッピングで,クラスパスに指定したJARファイル内のTLDファイルのURIがほかのTLDファイルやweb.xmlと重複しても,07-60以前のバージョンで動作していたJ2EEアプリケーションの動作に影響はありません。クラスパスに指定したJARファイル内のTLDファイルのマッピングの優先順位については,「6.2.6(7) taglibディレクティブのuri属性で指定するURIとTLDファイルのマッピングについて」を参照してください。
タグライブラリをクラスパスに指定したJARファイルに格納する場合に使用できるタグライブラリの機能は,カスタムタグおよびリスナです。
タグファイルは使用できません。JSPファイルまたはタグファイルで,クラスパスに指定したJARファイルに格納されたタグファイルを使用した場合,JARファイルに格納されたTLDファイルの<tag-file>要素が無視されます。そのため,タグファイルが存在しないと見なされて,JSPトランスレーション時にトランスレーションエラーとなります。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.