まず、Tomcat7のLibフォルダーに適切なJarファイルがあるので、私のJSTlコードは私のサーバーで機能します。これは本当にIDEA問題です。私の質問は、同じjarファイルをIntelliJ内の私のファイルディレクトリに配置する場所にまで及びます。
IntelliJとJSTLでエラーが発生しました。
私の問題は、私が使うとき
<%@ taglib prefix="c" uri="http://Java.Sun.com/jsp/jstl/core" %>
その結果、uriでtaglibを解決できません。さまざまなJarファイルを試しましたが、サーブレットのバージョンを修正する必要があることはわかっています。
私はUbuntuサーバー15.04とIntelliJ 14.1.3でTomcat7を実行しています。
プロジェクト構造を介してjarファイルをインポートしてさまざまな場所に含めようとしましたが、プロジェクトを再ビルドし、IDEAを閉じて再度開いた後も同じエラーが発生します。
このサンプルコードはTomcatにデプロイすると実行されますが、IntelliJはエラーを出し続けます。
<table border="1">
<c:forEach var="a" items="${data}">
<tr>
<td>${a}</td>
</tr>
</c:forEach>
</table>
<c:forEach begin="0" end="255" var="i">
<span style='color:rgb(
<c:out value="${i}"/>,
<c:out value="${i}"/>,
<c:out value="${i}"/>);'>
<c:out value="${i}"/></span> <br />
</c:forEach>
コードが機能していても、IntelliJが構文にエラーを出さないようにする方法を教えてください。
私は読んだ IntelliJのJSTLはJSPにエラーを与える
そして
https://www.jetbrains.com/idea/features/jsp_editor.html
まだ運がない。
まず、これを.jsp
ファイルの先頭に追加します。
<%@ taglib uri="http://Java.Sun.com/jsp/jstl/core" prefix="c" %>
それでも構文エラーが発生しますが、モジュールの依存関係としてjavax.servlet:jstl:1.2
を追加することで修正できます。これを行うには、次の手順に従います。
dependencies
セクションのmodules
タブに移動します。+
アイコン->ライブラリ-> From Mavenをクリックします。javax.servlet:jstl:1.2
を検索して[OK]を押すと、上記のライブラリがダウンロードされ、モジュールとして追加されます。Mavenを使用している場合は、<dependencies></dependencies>
タグ内のpom.xmlに次のコードを追加します
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
Shams UI Azeemの指示に従ってもエラーが発生する場合は、JSTLライブラリをWAR Explodedアーティファクトに追加する必要がある場合があります。これをする:
2a。 メッセージが表示されます。 メッセージが表示されたら、その横に[修正]ボタンがあるはずです。この修正ボタンをクリックします。 「アーティファクトに_javax.servlet:jstl:1.2
_を追加」を選択します。
2b。 メッセージは表示されません。 メッセージが表示されない場合は、上を見て、[利用可能な要素]列の下にjavax.servet:jstl:1.2 (Project Library)
があるかどうかを確認してください。正しい場合は、右クリックして「Put into/WEB-INF/lib」を選択します。
Mavenを使用している場合、修正メッセージは表示されませんが、これを行う必要があります。
以下の依存関係をpom.xmlに追加します
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>