Erro JSTL

4 respostas
rebelato

Galera,

Estou tentando utilizar tag libraries com EL aqui na empresa.

entao segue o que estou fazendo
1º adicionei o jstl-1.1.0.jar no meu projeto,

entao meu servlet faz o seguinte:

Collection cltLocalidade = null;
cltLocalidade =  //metodo que carrega uma coleção de localidade.

request.setAttribute("cltLocalidade", cltLocalidade);

getServletContext().getRequestDispatcher("/web-content/jsp/frmLocalidade.jsp").forward(request,response);

e minha jsp

<body>
    <c:forEach var="localidade" items="${cltLocalidade}">
        ${localidade.cdLocalidade}
    </c:forEach>
<body>

e está exibindo o seguinte erro:

26/11/2009 11:48:55 org.apache.jasper.compiler.TldLocationsCache processWebDotXml

WARNING: Internal Error: File /WEB-INF/web.xml not found

javax.servlet.ServletException: org/apache/taglibs/standard/tlv/JstlCoreTLV (Unsupported major.minor version 49.0)

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

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)

at cavisit.ctrl.LocalidadeControl.executeServlet(LocalidadeControl.java:66)

at cavisit.ctrl.LocalidadeControl.doGet(LocalidadeControl.java:29)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:419)

at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)

at java.lang.Thread.run(Thread.java:534)

Sendo que meu projeto nao tem o arquivo ewb.xml, uso o jdk1.4 e tomcat 5.0.28

4 Respostas

rebelato

Bom pessoal,

consegui resolver o problema, então segue a sulução:

No tomcat 5.0.28 (Nao sei se nas versões posteriores ocorram este detalhe) não consta o arquivo jstl-1.1.0.jar referente a esta versão entao adicionei-o dentro da pasta lib do tomcat, junto com os outos .jar

Inseri no projeto o jstl.jar e o standart.jar e resolveu.

D

Kra qndo tem esse erro Unsupported major.minor version 49.0 é por que você está tentando utilizar algum código compilado para uma versão mais nova em uma JDK com versão anterior.

Ex: compilado para 1.5 e tentando rodar na 1.4

rebelato

opa, eu cliquei a la loco e acho que era por isso mesmo que gerou aqueles erros loucos.

E corrigindo o que eu escrevi anteriormente:

Se colocar o jstl-1.1.0.jar no lib do tomcat, ele funcionou porque o meu projeto tem o tomcat no classpath.

Enão, voce deve colocar o .jar no lib do seu projeto e adicionalo no claspath.

Dai tudo fica lindo. Obrigado pela dica danilloh.

Abraço.

LPJava

um detalhe importante se vc tentar subir o arquivo .jar pelo eclipse, ele nao eh importado fisicamente para o seu projeto, se abrir o seu projeto pelo explorer verá a pagina lib, vazia e precisa ser feito manualmente. Nao pq o eclipse nao faz isso automatico. Ate hj nao entendo.

abraco,

Criado 26 de novembro de 2009
Ultima resposta 26 de nov. de 2009
Respostas 4
Participantes 3