Как решить: не удается найти дескриптор библиотеки тегов для "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 показывает красным подчеркиванием и когда я фокусирую его в тег : не может найти библиотеку дескриптор http://java.sun.com/jsp/jstl/core

17 89

17 ответов:

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

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Но я не получаю никакой ошибки.

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

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

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

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

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

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

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

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

EDIT: большинство серверов уже имеют эту зависимость, Если вы добавляете ее с помощью maven, это может вызвать конфликты версий (например, Method/ClassNotFoundException), если вы не настроили сервер хорошо, поэтому лучше установить целевой сервер для вашего проекта, как @willix упомянул.

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

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

Вместо того, чтобы иметь

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

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

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

Предупреждение: Как правильно отметил BalusC, это работает для JSTL 1.0.

Добавьте оба javax.сервлет.JSP-страница.тегов JSTL-АФИ-1.2.1.jar и стандарт-1.1.2.jar

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

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

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

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

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

Используя:

Стандарт.jar

Решает проблему.

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

Стандарт.кувшин, тегов JSTL-1.0.2.jar

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

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

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

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

Убедитесь, что у вас есть jstl-1.0 & standard.jar оба файла помещаются в classpath

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

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

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

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

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

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

<%@ 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, так как это пакет по умолчанию.

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

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

Однажды я изменил их и убедился, что jstl.Джар был в веб-приложении, я был готов идти.

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