Minha JSP não reconhece as tagLIb [CONCLUÍDO]

Pessoal estou fazendo uma jsp, mas quando rodo no navegador dá o tal ERRO 500.
Se eu tirar as tag’s de jstl o navegador reconhece.
Eu coloquei os seguintes arquivos no build Path:
jstl.jar;
standard.jar;
e o C.TLD na pasta WEB-INF\LIB.

A jsp não reconhece nehuma scriptlet, seguem alguns:

<%@ page import=“loja.*” %> - ESSE É O ÚNICO QUE É ACEITO
html>
<%@ taglib uri=“http://java.sun.com/jstl/core” prefix=“c” %>

Bem-vindo à nossa Loja


<c:import url=“header.jsp”/>
At the moment we have many very existing items for sale at amazing princes including:

<c:out value="${“stock.books[0].titulo}”/>
<c:out value="${“stock.books[0].autor}”/>
<c:out value="${“stock.books[0].preco}”/>

Valeu pessoal,

Jesley.Sena
:shock:

vc colocou no seu web.xml o local dos tlds???
<taglib>
<taglib-uri>/tags/c</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>

e no código troca para:

<%@ taglib prefix=“c” uri="/tags/c" %>

espero q te ajude

     O arquivo tld vc tem que colocar abaixo do WEB-INF e não abaixo do WEB-INF/lib, só as libs que ficam em WEB-INF/lib.
     E a diretivas de acesso corretas são essas aqui
&lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%&gt;
&lt;%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&gt;
&lt;%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%&gt;

Ih caras, agora parou de vez!!
Olha só o que eu fiz:

  • alterei o web.xml para

<taglib> <taglib-uri>/tags/c</taglib-uri> <taglib-location>/WEB-INF/c.tld</taglib-location> </taglib>
voltei com o c.tld para o WEB-INF e adicionei o jstl.jar e standard.jar dentro da pasta WEB-INF/lib.

Se eu tirar o código acima do web.xml e comentar a chamada do tablig

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

volta a funcionar.
O que tá pegando?

Aí pessoal, vcs não irão acreditar, pelo menos eu não acreditei.
O problema de não reconhecer os taglib’s era o URI que estava erado.
No meu estava

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

e o correto é

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

No primeiro consta JSP, que não existe. Pelo menos no meu caso foi.
1 abraço galera!

1 curtida

interessante tive o mesmo problema que o amigo teve a um bom tempo atrás, alterei a URL pela que ele falou e deu certo, sem contar que eu não tenho configurado nada das .tld no meu web.xml, mas tenho os jar no meu lib, alguém sabe explicar ? realmente a URI é que está errada ? embora eu veja ela em materiais até hoje?
t+

1 curtida

Não sei eu tive esse mesmo problema e funcionou…é so uma ideia…será que tem haver com versão? ou formas que estão os pacotes da classes se você abrir o jstl.jar no meu caso e você percorrer os pacotes ele chega nessa caminho citado acima. No entanto não tenho certeza…é so um palpite…até porque estou estudando pra SCWCD, e vendo essa parte.

Tive o mesmo problema mas a solução foi o contrário da sua.

Tive que retirar da url a palavra JSP. Aí funfou…

Pessoal já alterei o nome da uri, mas não funfou! meu XML conta

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">

vi um amigo falar que na versão 2.5 n precisa referenciar no XML, basta colocar a taglib e descrever a URI mas quando coloco a URI da erro na pagina jsp dentro do eclipse mesmo ele me acusa:
- Can not find the tag library descriptor for “http://java.sun.com/jstl/core

quando executo a pagina me vem:

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
	org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:315)
	org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:148)
	org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:431)
	org.apache.jasper.compiler.Parser.parseDirective(Parser.java:494)
	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1444)
	org.apache.jasper.compiler.Parser.parse(Parser.java:138)
	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
	org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:154)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

eu cheguei a baixar o jstl-api-1.2.jar e colocar na web-inf e setar na build path, mas n adiantou!
alguém pode me ajudar?

quanta confusão nesse caralho dos inferno! baixei a ultima versão a jstl-impl-1.2.jar e referenciei <%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
funcionou!

eu coloquei o jar dentro da wen-inf/lib e add build path!
vlw!