Я пытаюсь использовать JSTL, но я получаю следующую ошибку:
Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
Как это вызвано и как я могу его решить?
Я пытаюсь использовать JSTL, но я получаю следующую ошибку:
Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
Как это вызвано и как я могу его решить?
Используйте определение taglib в своем JSP или лучше включите его на каждую страницу по первой строке.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
В проекте также можно установить зависимость jstl-1.2
. Также используйте спецификацию сервлета как минимум 2.4 в вашем web.xml
.
Зависимости maven (maven - инструмент разработки с открытым исходным кодом)
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
<scope>compile</scope>
</dependency>
В web.xml
начать запись
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
EDIT:
Я хотел бы добавить примечание, которое @informatik01 упомянул в комментарии о более новой версии библиотек JSTL, доступных из репозитория Maven: JSTL version 1.2.1 API и JSTL 1.2.1.
У меня была такая же проблема, даже после того, как я добавил файлы jar для jstl и стандарта. Для меня это было разрешено после добавления целевого времени выполнения для моего проекта.
Перейдите в раздел "Свойства проекта" > "Целевые сроки выполнения" и выберите сервер, который вы используете (Tomcat 7.0 для меня).
Вы можете попытаться сделать папку, которая включает jsp-s, станет исходной папкой eclipse, которая решила мою проблему. Как показано ниже:
- открыть свойства проекта (щелкните правой кнопкой мыши проект, затем выберите Свойства)
- выберите "Путь сборки Java", выберите вкладку "Источник", нажмите "Добавить папку" и выберите папку, включая jsp-s, "ОК"
Чувак просто включает файл standard.jar в путь создания проекта.
в вашем pom.xml просто добавьте
<!-- jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
и попробуйте запустить
mvn eclipse:eclipse -Dwtpversion=2.0
решит проблему
создайте папку libs внутри каталога WEB-INF и добавьте jstl, стандартные банки, как показано ниже.
В соответствии с моментальным снимком основной причиной ошибки является то, что вы не определяете c.tld в папке lib.
Эта информация о содержимом lib о taglib