Comment résoudre: ne trouve pas le descripteur de bibliothèque de balise pour "http://java.sun.com/jsp/jstl/core" [duplicate]
cette question a déjà une réponse ici:
- ne trouve pas le descripteur de bibliothèque d'étiquette pour "http://java.sun.com/jsp/jstl/core " 11 réponses
<%@ 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>
L'IDE Eclipse montre le soulignement rouge et quand je le focalise la balise est : ne peut pas trouver le descripteur de bibliothèque pour http://java.sun.com/jsp/jstl/core
17 réponses
j'utilise aussi ce
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
mais je n'ai pas d'erreur.
avez-vous Inclus Le jstl.jar
dans votre bibliothèque? Si non, peut être est ce la cause du problème. Et aussi le dossier 'tld' vous l'avez? Et votre web.xml
?
consultez les informations sur jstl pour d'autres informations.
je sais que ce fil est un an maintenant, mais ayant connu le même problème, j'ai réussi à résoudre le problème en définissant un serveur cible pour mon projet.
c'est-à-dire faites un clic droit sur votre projet et sélectionnez "Propriétés" - > "Runtimes ciblés" et sélectionnez le serveur sur lequel vous allez lancer votre application web (Tomcat 6 ou 7).
comme @ace l'a mentionné, vous aurez besoin de la jstl.jar dans votre projet, donc si vous utilisez maven, vous pouvez ajouter cette dépendance:
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
Source: http://mvnrepository.com/artifact/jstl/jstl /
J'espère que ça aidera.
EDIT: la plupart des serveurs ont déjà cette dépendance, si vous l'ajoutez en utilisant maven il peut causer des conflits de version (comme Method / ClassNotFoundException) si vous ne configurez pas bien le serveur, il est donc préférable de définir un serveur cible pour votre projet, comme @willix l'a mentionné.
essayez d'ajouter comme ceci:
<%@taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
au lieu de
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
après quelques essais, j'utilise ceci. Cela fonctionne pour moi.
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
AVERTISSEMENT: Comme BalusC correctement mentionné, cela fonctionne pour la JSTL 1.0.
ajouter les deux javax.servlet.JSP.JSTL-api-1.2.1.jar et standard-1.1.2.jar
vous ciblez probablement un serveur sans support JSTL intégré (par exemple une version de Tomcat).) Vous devrez fournir votre propre bibliothèque d'étiquettes JSTL.
j'ai essayé de "validation" de *.jsp et *.des fichiers xml dans eclipse avec l'outil valider.
"clic droit sur répertoire / fichier - > - valider" et ça a marché!
utilisant eclipse juno.
Espère que cela aide!
coller au-dessous de deux pots dans votre dossier/WEB-INF / lib, puis allez à Propriétés du projet et allez à ajouter des pots et sélectionnez ces deux pots puis cliquez sur Ok, Ok
standard.pot, jstl-1.0.2.jar
Il n'a rien à faire sur <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
.
il suffit d'aller à projet et clic droit puis menu projet -> nettoyer l'erreur du projet sera certainement supprimer et mettre à jour maven .
vous devez écrire comme
<%@taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
assurez-vous que vous avez jstl-1.0 & standard.jar les deux les fichiers sont placés dans un classpath
cela fonctionnera parfaitement lorsque vous placerez les deux fichiers jar requis dans le répertoire /WEB-INF/lib, c'est-à-dire jstl-1.2.pot et javax.servlet.jsp sous /WEB-INF/lib du dossier.
J'espère que ça aidera. :)
j'ai résolu ce problème. utilisation en dessous de taglib
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
et ajouter jstl-1.2.jar
ça devrait marcher
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
et de plus s'il vous plaît laissez-nous savoir pourquoi vous importez tous ces classe
<%@ page import="com.library.controller.*"%>
<%@ page import="com.library.dao.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.lang.*" %>
<%@ page import="java.util.Date" %>
Nous n'avons pas besoin d'inclure java.lang comme c'est le package par défaut.
je vais jeter une solution de plus dans le mélange. J'ai téléchargé un exemple d'application et il se serrait seulement sur ce taglib. Il s'avère qu'il ne se souciait pas des citations simples autour des attributs.
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %>
une fois que je les ai changés et je me suis assuré que jstl.pot était dans l'application web, j'étais bon pour aller.
j'ai ajouté JSTL jar dans une bibliothèque et l'ai ajouté pour construire le chemin et l'assemblage de déploiement, mais cela n'a pas fonctionné. puis j'ai simplement copié mon JSTL jar dans le dossier lib à l'intérieur de webcontent, ça a fonctionné. dans le dossier eclipse lib inclus à l'Assemblée de déploiement par défaut