ejemplos - taglib java
Cómo resolver: no se puede encontrar el descriptor de la biblioteca de etiquetas para "http://java.sun.com/jsp/jstl/core" (17)
Esta pregunta ya tiene una respuesta aquí:
<%@ 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>
El IDE de Eclipse muestra un subrayado rojo y cuando lo enfoco, la etiqueta es: no se puede encontrar el descriptor de la biblioteca para http://java.sun.com/jsp/jstl/core
Agregué jstl jar en una biblioteca y lo agregué al ensamblado de ruta e implementación, pero no funcionó. entonces simplemente copié mi jstl jar en la carpeta lib dentro de webcontent, funcionó. en la carpeta eclipse lib incluida en el ensamblaje de implementación por defecto
Agregue ambos javax.servlet.jsp.jstl-api-1.2.1.jar y standard-1.1.2.jar
Como @ace mencionó necesitarás el jstl.jar en tu proyecto, entonces si estás usando maven, podrías agregar esta dependencia:
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
Fuente: http://mvnrepository.com/artifact/jstl/jstl/
Espero eso ayude.
EDITAR: La mayoría de los servidores ya tienen esta dependencia, si la agregas usando maven puede causar conflictos de versiones (como Method / ClassNotFoundException) si no configuras bien el servidor, por lo que es mejor establecer un servidor de destino para tu proyecto, como @ Willix mencionado.
Después de un par de aciertos y pruebas, uso esto. Esto funciona para mí
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
ADVERTENCIA: Como BalusC mencionó correctamente, esto funciona para JSTL 1.0.
Esto debería funcionar
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
y además, háganos saber por qué está importando todas estas clases
<%@ page import="com.library.controller.*"%>
<%@ page import="com.library.dao.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.lang.*" %>
<%@ page import="java.util.Date" %>
No necesitamos incluir java.lang ya que es el paquete predeterminado.
Funcionará perfectamente cuando coloque los dos archivos jar necesarios en la carpeta / WEB-INF / lib, es decir, jstl-1.2.jar y javax.servlet.jsp en la carpeta / WEB-INF / lib.
Espero eso ayude. :)
Intenté "validar" archivos de * .jsp y * .xml en eclipse con la herramienta de validación.
"haga clic derecho en el directorio / archivo -> - validar" y funcionó!
Usando eclipse juno.
¡Espero eso ayude!
Intenta agregar esto:
<%@taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
En vez de tener
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Lanzaré una solución más a la mezcla. Descargué una aplicación de muestra y estaba engarzada solo en este taglib. Resulta que no le importaron las comillas simples alrededor de los atributos.
<%@ taglib prefix=''c'' uri=''http://java.sun.com/jsp/jstl/core'' %>
Una vez que los cambié y me aseguré de que jstl.jar estuviera en la aplicación web, estaba listo para empezar.
No tiene nada que ver con <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
.
Simplemente vaya a proyecto y haga clic con el botón secundario en el menú del proyecto -> Limpiar el error del proyecto definitivamente eliminará y actualizará maven.
Probablemente esté apuntando a un servidor sin soporte JSTL incorporado (por ejemplo, alguna versión de Tomcat). Necesitará aprovisionar su propia biblioteca de etiquetas JSTL.
Resolví este problema. usar a continuación taglib
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
y agrega jstl-1.2.jar
Sé que este hilo tiene un año pero ahora, después de haber experimentado el mismo problema, pude resolver el problema estableciendo un servidor de destino para mi proyecto.
es decir, haz clic derecho en tu proyecto y selecciona "Propiedades" -> "Tiempo de ejecución dirigido" y selecciona el servidor en el que vas a ejecutar tu aplicación web (Tomcat 6 o 7).
Tienes que escribir como
<%@taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
Asegúrate de tener jstl-1.0 y standard.jar AMBOS archivos se colocan en un classpath
Yo también uso esto
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
pero no obtengo ningún error
¿ jstl.jar
el jstl.jar
en tu biblioteca? Si no es así, esto está causando el problema. Y también la carpeta ''tld'' ¿la tienes? ¿Y qué tal tu web.xml
lo web.xml
?
Echa un vistazo a la información sobre jstl para obtener más información.
pegue debajo de dos jar en su carpeta / WEB-INF / lib y luego vaya a las propiedades del proyecto y vaya a agregar jar y seleccione estos dos jar luego haga clic en Ok, Ok
standard.jar, jstl-1.0.2.jar
Utilizando el:
standard.jar
Resuelve el problema