web-dev-qa-db-fra.com

Comment résoudre le problème: Impossible de trouver le descripteur de bibliothèque de balises pour "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 IDE affiche un soulignement rouge et, lorsque je la sélectionne, le tag est: ne trouve pas le descripteur de bibliothèque pour http://Java.Sun.com/jsp/jstl/core =

90
Samarth2011

J'utilise aussi ça

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

mais je ne reçois aucune erreur.

Avez-vous inclus le jstl.jar dans votre bibliothèque? Sinon peut-être que cela cause le problème. Et aussi le dossier 'tld' l'avez-vous? Et que dire de votre web.xml l’avez-vous cartographié?

Jetez un coup d’oeil sur les infos sur jstl pour plus d’informations.

60
ace

Je sais que ce fil a maintenant un an mais, après avoir rencontré le même problème, j'ai réussi à le résoudre 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 souhaitez exécuter votre application Web (Tomcat 6 ou 7).

98
willix

Comme @ace l’a mentionné, vous aurez besoin du fichier jstl.jar dans votre projet. Par conséquent, 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 aide.

EDIT: La plupart des serveurs ont déjà cette dépendance. Si vous l'ajoutez à l'aide de maven, des conflits de version peuvent survenir (comme Method/ClassNotFoundException). Configurez bien le serveur, il est donc préférable de définir un serveur cible pour votre projet, comme mentionné par @willix.

34
rvazquezglez

Essayez d'ajouter comme ceci:

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

au lieu d'avoir

<%@taglib uri="http://Java.Sun.com/jsp/jstl/core" prefix="c"%>
13
Muthu

Ajoutez à la fois javax.servlet.jsp.jstl-api-1.2.1.jar et standard-1.1.2.jar

6
Karthikeyan K

Après quelques coups et essais, je l'utilise. Cela fonctionne pour moi.

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

AVERTISSEMENT: Comme BalusC l'a mentionné correctement, cela fonctionne pour JSTL 1.0.

5
Nishant

J'ai essayé de "valider" les fichiers de * .jsp et * .xml dans Eclipse avec l'outil de validation.

"clic droit sur le répertoire/fichier -> - valider" et cela a fonctionné!

Utiliser Eclipse Juno.

J'espère que ça aide!

3
WalterVi

Vous ciblez probablement un serveur sans prise en charge JSTL intégrée (par exemple, une version de Tomcat). Vous devrez provisionner votre propre bibliothèque de balises JSTL.

3
McDowell

en utilisant le:

standard.jar

Résout le problème.

2
rachakonda srinivas

collez ci-dessous deux fichiers jar dans votre dossier/WEB-INF/lib, puis accédez aux propriétés du projet, ajoutez-y un fichier jar, sélectionnez ces deux fichiers, puis cliquez sur OK, OK

standard.jar, jstl-1.0.2.jar

2
Antesh Sharma

Vous devez écrire comme

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

Assurez-vous que les fichiers jstl-1.0 et standard.jar DEUX sont placés dans un chemin de classe

1
Saurabh Naik

Cela n'a rien à voir avec <%@ taglib uri="http://Java.Sun.com/jsp/jstl/core" prefix="c" %>.

Il suffit d'aller au projet et de cliquer avec le bouton droit de la souris sur le menu du projet -> Nettoyer l'erreur de projet supprimera définitivement et mettra à jour Maven.

1
Buddheshwar Ojhar

J'ai résolu ce problème. utiliser ci-dessous taglib

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

et ajoutez jstl-1.2.jar

1
Bhagwan Singh

Cela fonctionnera parfaitement lorsque vous placerez les deux fichiers jar requis dans le dossier/WEB-INF/lib, c.-à-d. Jstl-1.2.jar et javax.servlet.jsp dans le dossier/WEB-INF/lib.

J'espère que ça aide. :)

1
Jitesh Beniwal

J'ai ajouté jstl jar dans une bibliothèque et l'ajoutée pour construire le chemin d'accès et le déploiement Assembly, mais cela n'a pas fonctionné. Ensuite, j'ai simplement copié mon fichier jstl dans le dossier lib du contenu Web, cela a fonctionné. dans le dossier lib Eclipse inclus dans le déploiement Assembly par défaut

0
ravi

Cela 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 importez-vous 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 car c'est le paquet par défaut.

0
Krishna

Je vais jeter une autre solution dans le mélange. J'ai téléchargé un exemple d'application et il ne sertissait que sur cette balise. Il s'avère que les guillemets simples autour des attributs ne tenaient pas à coeur.

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

Une fois que j'ai changé ceux-ci et que jstl.jar était dans l'application Web, j'étais prêt à partir.

0
Dan Doyon