Sun JSTL taglib declaration failed with "Can not find the tag library deskryptor" [duplikat]

To pytanie ma już odpowiedź tutaj:

Używam strony JSP do drukowania tablicy wartości. Próbuję do tego użyć JSTL <c:forEach>.

<c:forEach items="${objects}" var="object">
    <td>${object.name} </td>
</c:forEach>

Problemem jest moja deklaracja JSTL taglib:

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

IDE pokazuje błąd w tym linia

Nie można znaleźć deskryptora biblioteki znaczników.

Wiele forów wskazuje na starą stronę Sun, aby pobrać biblioteki JSTL. Teraz wszystkie te linki prowadzą do strony głównej Oracle bez linku do binariów JSTL. To prowadzi mnie do przekonania, że istnieje nowsze podejście do tego celu.

Author: Chic, 2012-11-28

8 answers

Aby rozwiązać ten problem:

  1. jstl jar powinny być w twojej klasie. Jeśli używasz maven, dodaj zależność do jstl w swoim pom.xml używając fragmentu tutaj. Jeśli nie używasz maven, Pobierz JSTL jar z tutaj i zainstaluj go w swoim WEB-INF/lib.

  2. Upewnij się, że masz następującą dyrektywę taglib na górze jsp:

     <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    
 85
Author: Babu Subburathinam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-27 11:28:09

Po prostu sprawdź naszą stronę wiki JSTL , aby znaleźć odpowiednie linki do pobierania i krystalicznie czyste instrukcje instalacji.

Umieść myszkę nad tagiem [jstl], który sam stawiasz na pytanie, aż pojawi się czarna skrzynka i kliknij w nią link info .

Tutaj wpisz opis obrazka

Następnie przewiń trochę w dół do informacji o wersjach JSTL, aż znajdziesz link do pobrania do JSTL 1.2 (lub 1.2.1).

Tutaj wpisz opis obrazka

W końcu po prostu upuść dokładnie ten plik w /WEB-INF/lib webapp.

Tutaj wpisz opis obrazka

W ten sposób deklaracja taglib nie może dawać już żadnych błędów i znaczniki i funkcje JSTL powinny po prostu działać.

 34
Author: BalusC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:30:52

Chcę się podzielić moim doświadczeniem. Mam ten sam problem z jstl za pomocą Mavena. Rozwiązałem to dodając dwie zależności.

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
 3
Author: THIHA SOE,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-03 16:14:54

Możesz pobrać Standardowy taglib Apache i dołączyć jar do swojego projektu.

 1
Author: Benoit Wickramarachi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-28 01:15:39

Jest to poprawka dla ludzi, którzy nie używają Mavena. Musisz również dodać standard.jar do folderu lib, aby Biblioteka znaczników core działała. Działa dla jstl w wersji 1.1.

<%@taglib prefix="core" uri="http://java.sun.com/jsp/jstl/core"%>
 1
Author: user2339071,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-04 09:14:32

Jeśli używasz serwera Tomcat proponuję umieścić JSTL .plik jar do folderu Tomcat lib. W ten sposób będziesz miał dostęp do JSTL we wszystkich swoich projektach internetowych automatycznie (z deklaracją taglib w .pliki jsp oczywiście).

 1
Author: pivopil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-11 06:34:30

Otrzymywaĺ ' em ten problem z projektem maven korzystajÄ ... cym z eclipse IDE. Zmieniłem 'Order and Export' w ścieżce budowania projektu, umieszczając zależności Mavena na pierwszym miejscu i błąd zniknął. Domyślam się, że to dlatego, że Eclipse IDE początkowo budował moje źródło aplikacji przed załadowaniem bibliotek Maven.

 0
Author: Aris Capellos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-24 10:16:25

Miałem ten sam problem na Tutaj wpisz opis obrazka Spring Tool Suite 3.2 i zmieniłem wersję jstl na 1.2 (z 1.1.2) ręcznie podczas dodawania go do listy zależności i błąd zniknął.

 0
Author: davidqwk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-24 20:22:30