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

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="com.library.controller.*"%>
<%@ page import="com.library.dao.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.lang.*" %>
<%@ page import="java.util.Date" %>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Return Page</title>
</head>
<body bgcolor="#aabcde">
<div align="right"><a href="Login.jsp">Logout</a></div>
<table align="center" border="2" cellspacing="3" cellpadding="3">
<tr><th>BookID</th><th>BookName</th><th>Issuedate</th><th>returndate</th></tr>
<c:forEach var="element" items="${list}">
    <tr>
        <td>${element.getBookid}</td><td>${element.getBookname()}</td>  
        <td>${element.getIssuedate()}</td><td>${element.getReturndate()}</td>
    </tr>
</c:forEach>

Eclipse IDE показывает красную подчеркивание, и когда я фокусирую его на теге: не могу найти дескриптор библиотеки для http://java.sun.com/jsp/jstl/core

Ответ 1

Я также использую этот

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

но я не получаю никаких ошибок.

Вы включили jstl.jar в свою библиотеку? Если это не может быть причиной этой проблемы. А также в папке "tld" у вас есть это? А как насчет вашего web.xml вы отобразили его?

Посмотрите информацию о jstl для получения дополнительной информации.

Ответ 2

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

то есть. щелкните правой кнопкой мыши на своем проекте и выберите "Свойства" → "Целевые Runtimes" и выберите сервер, на котором будет запущено ваше веб-приложение (Tomcat 6 или 7).

Ответ 3

Как упоминалось в @ace, вам понадобится jstl.jar в вашем проекте, поэтому, если вы используете maven, вы можете добавить эту зависимость:

<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

Источник: http://mvnrepository.com/artifact/jstl/jstl/

Надеюсь, что это поможет.

РЕДАКТИРОВАТЬ:. Большинство серверов уже имеют эту зависимость, если вы добавите ее с помощью maven, это может привести к конфликтам версий (например, Method/ClassNotFoundException), если вы не настроили сервер хорошо, поэтому лучше установите целевой сервер для своего проекта, как отметил @willix.

Ответ 4

Попробуйте добавить вот так:

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

вместо

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

Ответ 5

После пары хитов и испытаний я использую это. Это работает для меня.

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

ПРЕДУПРЕЖДЕНИЕ. Как правильно сказано BalusC, это работает для JSTL 1.0.

Ответ 6

Добавьте оба javax.servlet.jsp.jstl-api-1.2.1.jar и standard-1.1.2.jar

Ответ 7

Возможно, вы ориентируетесь на сервер без встроенной поддержки JSTL (например, на некоторых версиях Tomcat.) Вам нужно будет предоставить собственную библиотеку тегов JSTL.

Ответ 8

Я попытался "проверить" файлы *.jsp и *.xml в eclipse с помощью инструмента проверки.

"щелкните правой кнопкой мыши по каталогу/файлу → - подтвердите", и он сработает!

Использование eclipse juno.

Надеюсь, что это поможет!

Ответ 9

Использование:

standard.jar

Устраняет проблему.

Ответ 10

вставьте ниже двух jar в папку /WEB -INF/lib, а затем перейдите к свойствам проекта и перейдите к добавлению jar и выберите эти две банки, а затем нажмите Ok, Ok

standard.jar, JSTL-1.0.2.jar

Ответ 11

Это не имеет никакого отношения к <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>.

Просто перейдите в проект и щелкните правой кнопкой мыши, а затем меню проекта → Очистить ошибку проекта, безусловно, удалить и обновить maven.

Ответ 12

Вы должны написать как

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

Убедитесь, что файлы jstl-1.0 и standard.jar BOTH размещены в пути к классам

Ответ 13

Он будет работать отлично, когда вы поместите два необходимых файла jar в папку /WEB -INF/lib, т.е. JSTL-1.2.jar и javax.servlet.jsp в папке /WEB -INF/lib.

Надеюсь, это поможет.:)

Ответ 14

Я решил эту проблему. используйте ниже taglib

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

и добавьте jstl-1.2.jar

Ответ 15

Это должно работать

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

и более того, дайте нам знать, зачем вы импортируете этот класс

<%@ page import="com.library.controller.*"%> 
<%@ page import="com.library.dao.*" %> 
<%@ page import="java.util.*" %> 
<%@ page import="java.lang.*" %> 
<%@ page import="java.util.Date" %>

Нам не нужно включать java.lang, поскольку это пакет по умолчанию.

Ответ 16

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

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

Как только я изменил их и убедился, что jstl.jar находится в веб-приложении, мне было хорошо идти.

Ответ 17

Я добавил jstl jar в библиотеку и добавил его для сборки пути и сборки развертывания, но он работал. то я просто скопировал jstl jar в папку lib внутри webcontent, это сработало. в папке eclipse lib, включенной в сборку развертывания по умолчанию