Как решить: не удается найти дескриптор библиотеки тегов для "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, включенной в сборку развертывания по умолчанию