web-dev-qa-db-ja.com

<c:out />不明なタグ

次の行を含めると、左側のEclipseでエラーのヒントメッセージが表示されるのはなぜですか。

<c:out value=${variable}/>

「不明なタグ(c:out)」というエラーが表示されます

私も上に含めました

<%@ page isELIgnored ="false" %> 

含める必要のあるjstlはありますか?

14
Some Java Guy

どうやら、TomcatなどのJSTLをサポートしていないサーブレットコンテナを使用して開発しているようです。その場合は、 jstl-1.2.jar をダウンロードして、Webアプリケーションの/WEB-INF/libフォルダーにドロップする必要があります。 いいえ他の変更は必要ありません。また、JARファイルを抽出したり、/WEB-INFフォルダーに緩いTLDファイルを散らかしたりしません。提案します。

JARファイルをクラスパスにドロップした後(/WEB-INF/libフォルダーはWebアプリケーションのランタイムクラスパスの一部です)、次の行をJSPの先頭に配置することで、JSTLコアtaglibを参照できるようになります。 そのドキュメント

<%@taglib uri="http://Java.Sun.com/jsp/jstl/core" prefix="c" %>

JSTL 1.2では、web.xmlに少なくともサーブレット2.4宣言が必要です。したがって、web.xmlに適切なルート宣言があることを確認してください。できれば、サーブレットコンテナでサポートされている最高のバージョンを指定してください(Tomcat 7はサーブレット3.0、Tomcat 6はサーブレット2.5、Tomcat 5.5はサーブレット2.4です)。

参照:

  • JSTLタグwikiページ (このページにアクセスするには、質問に自分で付けた[jstl]タグの上にマウスを置き、infoポップボックスのリンク)
31
BalusC

BalusC answerによると、jstl jarをダウンロードしてlibフォルダーに貼り付け、jspページの上部にタグを含めましたが、それでも同じ問題が発生しています。不明なタグc:out.Please.answer。 .......。enter image description here

2
Anurag_BEHS

そのページにJSTLライブラリへのリンクを含める必要があります。 This チュートリアルは必要な情報を提供するはずです。

1
npinti

Spring FrameworkSecurityのチュートリアルを勉強しています。 Mavenチュートリアルプロジェクトをインポートしてコンパイルすると、「<c:out> unknowntag」という警告が表示されました。 jstl-1.2.jarはすでにプロジェクトクラスパスにありました。問題は、プロジェクトに1.6ランタイムライブラリが付属していて、マシンにインストールされているのは1.7しかないことでした。ライブラリを交換したところ、問題は解決しました。

0
mike10019