Sun JSTL taglib-declaratie mislukt met “Kan de tagbibliotheekdescriptor niet vinden”

Ik gebruik een JSP-pagina om een ​​reeks waarden af ​​te drukken. Ik probeer hiervoor JSTL <c:forEach>te gebruiken.

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

Het probleem is mijn JSTL taglib-declaratie:

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

De IDE toont een fout op deze regel

Kan de tagbibliotheekdescriptor niet vinden.

Veel van de forums verwijzen naar de oude Sun-site om de JSTL-bibliotheken te downloaden. Nu verwijzen al deze links naar de Oracle-startpagina zonder link naar JSTL-binaire bestanden. Dit doet me geloven dat er een nieuwere benadering is om dit te bereiken.


Antwoord 1, autoriteit 100%

Dit probleem oplossen:

  1. De jstl jarzou in je klassenpad moeten staan. Als u mavengebruikt, voegt u een afhankelijkheid toe aan jstl in uw pom.xmlmet behulp van het meegeleverde fragment hier. Als u mavenniet gebruikt, download dan de jstl-jar van hieren implementeer het in uw WEB-INF/lib.

  2. Zorg ervoor dat u de volgende taglib-instructie bovenaan uw jspheeft staan:

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

Antwoord 2, autoriteit 36%

Bekijk gewoon onze eigen JSTL-wikipaginavoor de juiste downloadlinks en kristalheldere installatie-instructies.

Plaats je muis boven de [jstl]tag die je zelf op de vraag plaatst tot er een zwarte doos verschijnt en klik daarin op de infolink.

Scroll dan een beetje naar beneden naar informatie over JSTL-versies totdat je een downloadlink naar JSTL 1.2 (of 1.2.1) vindt.

Laat ten slotte precies dat bestand vallen in /WEB-INF/libvan de webapp.

Op deze manier mag de taglib-declaratie geen fouten meer geven en de JSTL-tags en functieszouden gewoon moeten werken.


Antwoord 3, autoriteit 4%

Ik wil alleen mijn ervaring delen. Ik heb hetzelfde probleem met jstl met maven. Ik heb het opgelost door twee afhankelijkheid toe te voegen.

   <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>

Antwoord 4, autoriteit 2%

Als je de Tomcat-server gebruikt, raad ik je aan om het JSTL .jar-bestand in de Tomcat lib-map te plaatsen. Door dit te doen, krijgt u automatisch toegang tot JSTL in al uw webprojecten (uiteraard met taglib-declaratie in .jsp-bestanden).


Antwoord 5

Je kunt de Apache Standard Taglibdownloaden en de jar in je project opnemen.

p>


Antwoord 6

Dit is een oplossing voor mensen die maven niet gebruiken. U moet ook standard.jartoevoegen aan uw lib-map om de kerntagbibliotheek te laten werken. Werkt voor jstl-versie 1.1.

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

Antwoord 7

Ik kreeg dit probleem met een maven-project dat de eclipse-IDE gebruikte. Ik heb de ‘Order and Export’ in het buildpad van het project gewijzigd door de Maven-afhankelijkheden eerst te plaatsen en de fout is verdwenen. Ik denk dat het komt omdat de eclipse-IDE in eerste instantie mijn toepassingsbron aan het bouwen was voordat de Maven-bibliotheken werden geladen.


Antwoord 8

Ik kreeg hetzelfde probleem opSpring Tool Suite 3.2 en wijzigde de versie van jstl handmatig naar 1.2 (van 1.1.2) bij het toevoegen aan de afhankelijkheidslijst, en de fout is verdwenen.

Other episodes