IntelliJ и JSP/JSTL, и не может решить для библиотек тегов JSTL, и в tomcat7

прежде всего, мой код JSTl работает на моем сервере, потому что у меня есть правильный файл Jar в папке Lib в tomcat7. Это просто проблема идеи. Мои вопросы сводятся к тому, где я помещаю тот же файл jar в свой каталог файлов в IntelliJ.

я столкнулся с ошибкой в IntelliJ и JSTL.

моя проблема в том, что когда я использую

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

это приводит к невозможности разрешения taglib с uri. Я пробовал разные файлы jar и я знаю, что я нужно исправить версию для моего сервлета.

Im работает tomcat7 на Ubuntu Server 15.04 и IntelliJ 14.1.3.

Я попытался импортировать файл jar через структуру проекта и включить его в разных местах, но все та же ошибка после повторного построения проекта, а также закрытия и повторного открытия идеи.

этот пример кода запускается при развертывании в 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 дает ошибки в моем синтаксисе, хотя код работает.

я прочитала JSTL в IntelliJ дает ошибки в JSP

и

https://www.jetbrains.com/idea/features/jsp_editor.html

все еще не повезло.

1 ответов


Сначала добавьте это в верхнюю часть вашего ".файл "jsp":

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

Он все равно даст синтаксическую ошибку, но вы можете исправить это, добавив " javax.servlet: jstl: 1.2" (без кавычек) как зависимость модуля. Для этого выполните следующие действия:

  1. выберите имя проекта и нажмите клавишу "F4" чтобы открыть диалоговое окно настроек модуля.
  2. Затем переходим на вкладку "зависимости" в разделе "модули".
  3. нажмите зеленый значок " + " -- > библиотека --> С Помощью Maven.
  4. искать javax.servlet:jstl:1.2 в строке поиска и нажмите "ОК", и он загрузит и добавит вышеупомянутую библиотеку в качестве модуля.
  5. теперь у вас не должно быть какой-либо синтаксической ошибки.