Подтвердить что ты не робот

Не удается найти дескриптор библиотеки тегов для "http://java.sun.com/jsp/jstl/core"

Я пытаюсь использовать JSTL, но я получаю следующую ошибку:

Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"

Как это вызвано и как я могу его решить?

4b9b3361

Ответ 1

Используйте определение 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.

Ответ 2

У меня была такая же проблема, даже после того, как я добавил файлы jar для jstl и стандарта. Для меня это было разрешено после добавления целевого времени выполнения для моего проекта.

Перейдите в раздел "Свойства проекта" > "Целевые сроки выполнения" и выберите сервер, который вы используете (Tomcat 7.0 для меня).

Ответ 3

Вы можете попытаться сделать папку, которая включает jsp-s, станет исходной папкой eclipse, которая решила мою проблему. Как показано ниже:

  • открыть свойства проекта (щелкните правой кнопкой мыши проект, затем выберите Свойства)
  • выберите "Путь сборки Java", выберите вкладку "Источник", нажмите "Добавить папку" и выберите папку, включая jsp-s, "ОК"

Ответ 4

Чувак просто включает файл standard.jar в путь создания проекта.

Ответ 5

в вашем pom.xml просто добавьте

    <!-- jstl -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency> 

и попробуйте запустить

mvn eclipse:eclipse -Dwtpversion=2.0

решит проблему

Ответ 6

создайте папку libs внутри каталога WEB-INF и добавьте jstl, стандартные банки, как показано ниже. enter image description here

Ответ 7

Добавьте этот 3-й файл для поддержки выполнения также>

В соответствии с моментальным снимком основной причиной ошибки является то, что вы не определяете c.tld в папке lib.

Эта информация о содержимом lib о taglib