Configurando JSTL - SOCORRO!

3 respostas
H

Como eu faço pra configurar JSTL no tomcat 5???

Já tentei usar a diretiva <%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %> e adicionar o arquivo standard.jar no diretório WEB-INF/lib e não da certo…
Tentei tb adicionar as taglibs no web.xml da seguinte forma

<taglib>
<taglib-uri>/jstl-core</taglib-uri>
<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
</taglib>

e usar a diretiva <%@ taglib prefix=“c” uri="/jstl-core" %> mas quando rodo a aplicação, aparece o erro
exception

javax.servlet.ServletException: javax.servlet.jsp.tagext.TagAttributeInfo.<init>(Ljava/lang/String;ZLjava/lang/String;ZZ)V

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:244)

javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

root cause

java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo.<init>(Ljava/lang/String;ZLjava/lang/String;ZZ)V

org.apache.jasper.compiler.TagLibraryInfoImpl.createAttribute(TagLibraryInfoImpl.java:568)

org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:401)

org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248)

org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:162)

org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)

org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)

org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)

org.apache.jasper.compiler.Parser.parse(Parser.java:126)

org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)

org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)

org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:461)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:442)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:430)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:274)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)

javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

O que ta faltando? será algum .jar ou estou com a versão errada do standard.jar? eu posso referenciar os tlds que estão dentro desse jar ou tenho que por num diretório a parte?
Por favor alguem me ajude, estou perdendo os cabelos com isso!!!

3 Respostas

M

1 - Você tem adicionar o jstl.jar e o standard.jsr no WEB-INF\lib
2 - copiar os .TLD para o WEB-INF (c.tld, sql.tld etc)
3 - Incluir as diretivas no web.xml por exemplo:
<taglib>
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>

Acho que só com isso deve funcionar.

Qualquer coisa me avisa.

H

Eu fiz isso dai, so que eu so inclui no web.xml somente uma tld, pra testar. Continua dando o mesmo erro. O simples fato de eu colocar a diretiva taglib na página JSP já gera o erro que eu mostrei acima quando eu tento exibir a página. O curioso é que o eclipse não acusa erro nenhum quando eu salvo o arquivo. O erro é só em tempo de execução mesmo. E como no erro não há nenhuma citação à minha página JSP, é provável que o erro seja em outra parte. Eu uso o JDK 1.4.2 acho q não tem nada a ver. O que eu ainda posso fazer além de me matar?

M

Bem eu instalei tudo do zero e não deu erro nenhum. A única diferença é que eu não usei o Eclipse. Tenta fazer uma JSP simples usando uma tag simples sem o Eclipse.

Criado 20 de julho de 2004
Ultima resposta 21 de jul. de 2004
Respostas 3
Participantes 2