Problemas na instalação da JSTL

6 respostas
maresp

Ao declarar uma taglib ‘core’ com prefixo ‘c’

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

tenho a exception:

org.apache.jasper.JasperException: XML parsing error on file /WEB-INF/tld/c.tld: (line 3, col 8): Document is invalid: no grammar found.

porém ao mudar para:

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

o jsp compila numa boa…
Estou utilizando a jstl-standart 1.0 e tomcat 4.1.24.

6 Respostas

B

Também tive este problema Marcelo. Como está o seu web.xml??? Estão setadas todas tld's diretinho nele? No meu está assim...

<taglib>
    <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
    <taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/tld/c.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
    <taglib-location>/WEB-INF/tld/sql.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>http://java.sun.com/jstl/xml</taglib-uri>
    <taglib-location>/WEB-INF/tld/x.tld</taglib-location>
  </taglib>

Gustavo Guilherme BacK

maresp

Está idêntico ao seu. Coloquei as <taglib> logo depois da tag <session-config>. Mas a aplicação carrega normalmente no Tomcat, o problema é no momento da chamada do jsp.
Eu segui um artigo do javaworld… tb olhei outros artigos e são todos muito parecidos. Achei estranho dar o erro de parser justamente na tld.

B

Dependendo da versão do Tomcat 4.x que você está usando ocorre um erro na inicialização do tomcat parecido com as linhas que você havia descrito no primeiro tópico. Eu resolvi isso importando somente algumas dependências específicas do JSTL ao invés de todas as .jar… meu .lib ficou assim para as bibliotecas necessárias…

jaxen-full.jar jaxp-api.jar jstl.jar sax.jar saxpath.jar standard.jar

Isso exclui as seguintes…

dom.jar jaxen-full.jar jaxp-api.jar jdbc2_0-stdext.jar sax.jar saxpath.jar xalan.jar xercesImpl.jar

Gustavo Guilherme BacK

maresp

Realmente, no log de inicialização do tomcat tem uma linha de erro que acusa uma falha de parser xml. Mas não entendí o que vc deixou e tirou do lib - estamos falando de /TOMCAT_HOME/common/lib né?

B

Não… eu exibi o lib da minha aplicação mesmo.

Esse erro é gerado devido a algum erro de incompatibilidade com uma das libs que você usa… por isso o meu lib esta da forma que te mostrei.

Gustavo Guilherme BacK

maresp

Bem, então acho que está faltando algo aqui. Os únicos .jar que utilizei foram jstl.jar e standard.jar, e coloquei eles em /TOMCAT_HOME/common/lib para não ter que ficar adicionando em todas as libs dos meus projetos. Na minha aplicação não tenho nenhum jar na lib. Esse monte de jar que vc disse que tem é requisito para jstl funcionar? Se sim então a documentação tá furada pq nela não diz que existem dependências de outros jar para jstl funcionar.


[editado] 27/11
Cara, foi mal, não percebí que estava com taglibs 1.1, só me liguei depois. Fiz todas atualizações para 1.0 (para rodar com Tomcat 4.x), mas não deram certo mesmo acatando sua sugestão de eliminar alguns jars. Continua dando o mesmo erro.
[/editado]


[editado] 27/11
Mais uma gafe. Atualizei os jar, mas tinha esquecido de atualizar as tlds. Agora tá funcionando. Valeu a força.
[/editado]

Criado 27 de novembro de 2003
Ultima resposta 27 de nov. de 2003
Respostas 6
Participantes 2