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:
-
De
jstl jar
zou in je klassenpad moeten staan. Als u mavengebruikt, voegt u een afhankelijkheid toe aan jstl in uwpom.xml
met behulp van het meegeleverde fragment hier. Als u mavenniet gebruikt, download dan de jstl-jar van hieren implementeer het in uwWEB-INF/lib
. -
Zorg ervoor dat u de volgende taglib-instructie bovenaan uw
jsp
heeft 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/lib
van 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.jar
toevoegen 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.