web-dev-qa-db-ja.com

springframeworkのタグライブラリ記述子が見つかりません

私は、春のJPetStoreの例を追跡しようとしていますが、libタグspringを参照する行のJSPページでエラーが発生します。

「http://www.springframework.org/tags」のタグライブラリ記述子が見つかりません

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>

このライブラリのURLは何ですか?

このURLへの直接的な依存を回避する方法はありますか?

前もって感謝します

28
JLBarros
  1. Spring依存関係jarをダウンロードします
  2. Libフォルダーパスに配置します/WEB-INF/lib/spring.jar
  3. 次に、web.xmlを開きます。サンプルコードは次のとおりです。

    <taglib>
      <taglib-uri>/WEB-INF/spring.tld</taglib-uri>
      <taglib-location>/WEB-INF/spring.tld</taglib-location>
    </taglib>
    
  4. 次に、jarファイルがurシステムのどこにあるかを示すtaglibが示されます。

    <%@ taglib prefix="spring" uri="/WEB-INF/spring.tld" %>
    

古い質問ですが、タグライブラリhttp://www.springframework.org/tagsspring-webmvcパッケージで提供されています。 Mavenでは、次の行をpom.xmlに追加してプロジェクトに追加できます。

<properties>
    <spring.version>3.0.6.RELEASE</spring.version>
</properties>

<dependencies>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>

Mavenなしで、そのjarをクラスパスに追加するだけです。いずれにしても、tldファイルを直接参照する必要はありません。自動的に検出されます。

17
stivlo

@taglibの間のスペースを削除すると、私にとってはうまくいきませんでした:<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>

12
ElPasmo

Mavenを使用している場合は、次の依存関係を使用します。

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-taglibs</artifactId>
    <version>3.1.4.RELEASE</version>
</dependency>
10
Eduardo Chavira

springs mvcの依存関係を追加する必要があります

あなたのポンポンにそれを追加するトレイ

<!-- mvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>

TLDはspring.jar。アプリケーションはそのURLに依存しません。タグライブラリを識別するための一意の名前として使用されます。 URIを「/ spring-tags」にすることもできますが、URLを使用するのはかなり一般的なことです。

3
Steven Benitez

最初にEclipse(kepler)からデプロイするときにweblogic 12cとmavenで同じ問題が発生しました(コンソールからデプロイしてもエラーは発生しませんでした)。

このページに記載されている他の解決策は役に立ちませんでした。

私のwarモジュールのweb\WEB-INFフォルダーにspring.tld spring-form.tld spring-webmvc jar(リポジトリにあります)のファイルを抽出しました。

フレッシュビルドを行いました。 (Eclipseから)weblogic 12cにデプロイし、アプリケーションをテストしましたが、エラーはなくなりました。

spring.tld spring-form.tldファイルを削除した後、再度削除しました。アプリケーションを再構築して再デプロイすると、エラーは再び表示されませんでした。

私は、ファイルが戦争でなくなっていて、実際に存在していなかったかどうかを二重にチェックしました。

これが同様の問題で他の人を助けることを願っています...

2
Bamboomy

最終的にRADを設定してMavenベースのプロジェクトをビルドしましたが、Spring taglibを使用するページに移動すると次の例外が発生しました。

JSPG0047E:uriのタグライブラリを見つけることができません http://www.springframework.org/tags at com.ibm.ws.jsp.translator.visitor.tagfiledep.TagFileDependencyVisitor.visitCustomTagStart(TagFileDependencyVisitor.Java: 76)...

EARを構成した方法では、すべてのjarはWARのWEB-INF/libではなくEARにありました。 JSP 2.0仕様によれば、WEB-INFのすべてのサブディレクトリでタグライブラリが検索されると考えられているため、この問題が発生しています。私の解決策は、tldファイルをコピーしてWEB-INF/libまたはWEB-INFの下に置くことでした。

1
Stranger

直接リンクが必要な場合:

https://github.com/spring-projects/spring-framework/blob/master/spring-webmvc/src/main/resources/META-INF/spring-form.tld

またはリポジトリから:

JCenterlink

Maven Centrallink

そして、Gradleの依存関係として必要な場合:

コンパイル 'org.springframework:spring-webmvc:4.1.6.RELEASE

Spring-formの詳細: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/spring-form.tld.html

1
Xelian

この問題は、通常、インターネットからタグlib URLをコピーして貼り付けるときに発生します。通常、引用符""http://www.springframework.org/tags が埋め込まれているURLは正しくない可能性があります。引用符を削除して、手動で入力してください。これで問題は解決しました。

0
user7409727

私はSpring-Bootを使用していましたが、私にとってはPom.xmlで以下のカットアンドペーストが機能しました。ファイルが同期していない可能性があります。

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
</dependency>
0
Vikash

タグライブラリのコア依存関係:

> <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-taglibs</artifactId>
</dependency>
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
</dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
0
koberone

別のケースがあります。

さまざまなポートレットアプリケーションwarにいくつかのポートレットがあり、それらはすべてspringを使用しています。そのため、各戦争のサイズを縮小するために、WebSphere Portalサーバーにスプリングjar用の共有ライブラリーを作成しました。

ただし、jspファイルから参照されるスプリングフォームタグがないという上記と同じ問題に遭遇しました。

解決するために、spring-form.tldファイルをWEB-INF /ディレクトリにコピーし、warを再デプロイしましたが、うまくいきました。

それが私のものと同様の問題を抱えている人に役立つことを願っています。

0
Uresh Kuruhuri