次のようなtaglibディレクティブを宣言できることを読んだことを覚えているようです。
<%@ taglib prefix="c" uri="http://Java.Sun.com/jsp/jstl/core" %>
web.xmlで。これにより、taglibが使用されるすべてのJSPファイルでこのディレクティブを複製する必要がなくなります。誰かが教えてもらえますかhowこれらのディレクティブはweb.xmlに追加できますか?
Web.xmlのtaglib
要素は、上記のtaglib
ディレクティブとは異なる目的を果たします。
Davidが言ったように、各ページにはtaglib
ディレクティブが必要です。
一般的なtaglibを使用するページが多数ある場合は、taglibディレクティブをインクルードファイルに入れ、このファイルを各ページにインクルードすることで、これをショートカットできます。ただし、どのように実行しても、taglibディレクティブは何らかの方法でページに配置する必要があります。
各ページに含める必要のあるタグは次のようになります。
<%@ taglib prefix="c" uri="http://Java.Sun.com/jsp/jstl/core" %>
カスタムの場所にカスタムのtaglibがある場合は、webappルートを基準にした場所を指定することもできます。
<%@ taglib prefix="ex" uri="/taglib.tld" %>
Web.xmlのtaglib
ディレクティブは、タグurisをtaglibの物理的な場所にマップします。 JSP 2.0以降、準拠コンテナは一連の標準の場所を調べてtaglibを自動検出しようとするため、これはオプションです。/WEB-INFとそのサブディレクトリ、/ META-INFもJARファイル用です。
Web.xmlでは次のようになります。
<taglib>
<taglib-uri>
http://www.example.com/taglib
</taglib-uri>
<taglib-location>
/taglib.tld
</taglib-location>
</taglib>
そして、taglibは次のようにJSPページで参照されます(各ページのtaglibディレクティブは避けられません!):
<%@ taglib prefix="ex" uri="http://www.example.com/taglib" %>
これは、上記のtaglibディレクティブに対して示した2番目の例と同等です。最大の違いは、taglibの場所を指す方法にあります。
このページ もう少し情報が含まれています。
申し訳ありませんが、少し間違えています。ページでtaglibを使用する場合は、ページ上にtaglibディレクティブが必要です。すべてのページがインクルードディレクティブとともにインクルードするインクルードファイルに共通のtaglibディレクティブを配置できますが、コンパイル時にtaglibディレクティブが存在する必要があります。
Web.xmlにtaglib要素を含めず、代わりに、WEB-INF/libのtaglibjarファイル内にあるTLDの「uri」要素で使用されるURI値をtaglibディレクティブで指定することをお勧めします。 。