La déclaration de taglib Sun JSTL échoue avec «Impossible de trouver le descripteur de bibliothèque de balises»

J’utilise une page JSP pour imprimer un tableau de valeurs. J’essaie d’utiliser JSTL pour cela.

  ${object.name}   

Le problème est ma déclaration taglib JSTL:

   

L’IDE affiche une erreur sur cette ligne

Impossible de trouver le descripteur de la bibliothèque de balises.

De nombreux forums pointent vers l’ancien site Sun pour télécharger les bibliothèques JSTL. Tous ces liens pointent maintenant vers la page d’accueil Oracle sans lien vers les fichiers binarys JSTL. Cela m’amène à croire qu’il existe une nouvelle approche pour y parvenir.

Pour résoudre ce problème:

  1. Le jstl jar devrait être dans votre classpath. Si vous utilisez maven , ajoutez une dépendance à jstl dans votre pom.xml utilisant l’extrait de pom.xml fourni ici . Si vous n’utilisez pas maven , téléchargez le jstl jar à partir d’ ici et déployez-le dans votre WEB-INF/lib .

  2. Assurez-vous d’avoir la directive taglib suivante en haut de votre jsp :

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

Il suffit de vérifier notre propre page wiki JSTL pour les liens de téléchargement appropriés et les instructions d’installation claires.

Placez votre souris au-dessus de la [jstl] que vous avez posée vous-même jusqu’à ce qu’une boîte noire apparaisse et cliquez sur le lien info .

entrer la description de l'image ici

Faites ensuite défiler un peu vers le bas les informations sur les versions JSTL jusqu’à ce que vous trouviez le lien de téléchargement vers JSTL 1.2 (ou 1.2.1).

entrer la description de l'image ici

Enfin, déposez simplement ce fichier dans /WEB-INF/lib webapp.

entrer la description de l'image ici

De cette façon, la déclaration taglib ne doit plus donner d’erreurs et les balises et fonctions JSTL devraient simplement fonctionner.

Je veux juste partager mon expérience. J’ai le même problème à propos de jstl avec maven. Je l’ai résolu en ajoutant deux dépendances.

   javax.servlet servlet-api 2.5   jstl jstl 1.2  

Vous pouvez télécharger le taglib Apache Standard et inclure le pot dans votre projet.

Ceci est un correctif pour les personnes qui n’utilisent pas maven. Vous devez également append standard.jar à votre dossier lib pour que la bibliothèque de balises principale fonctionne. Fonctionne pour la version 1.1 de jstl.

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

Si vous utilisez un serveur Tomcat, je vous suggère de placer le fichier JAR de JSTL dans le dossier Tomcat lib. En faisant cela, vous aurez automatiquement access à JSTL dans tous vos projets Web (avec la déclaration taglib dans les fichiers .jsp bien sûr).

J’avais ce problème avec un projet Maven utilisant l’IDE de l’eclipse. J’ai changé l’ordre et l’exportation dans le chemin de construction du projet en mettant d’abord les dépendances Maven et l’erreur a disparu. Je suppose que c’est parce que l’IDE de l’éclipse était initialement en train de créer ma source d’application avant de charger les bibliothèques Maven.

J’avais le même problème sur entrer la description de l'image ici Spring Tool Suite 3.2 et a modifié manuellement la version de jstl à 1.2 (à partir de la version 1.1.2) lors de l’ajout à la liste des dépendances, et l’erreur a disparu.