Problemas com JSTL no web.xml  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
rafael.espiritosanto
JavaGuru
[Avatar]

Membro desde: 27/07/2006 10:51:26
Mensagens: 226
Localização: Rio de Janeiro
Offline

Pessoal,
tô usando eclipse com plugin WTP e gostaria de adicionar o suporte a
JSTL em minha aplicação. Quando uso o cabeçalho padrão que o WTP
utiliza o Eclipse marca a <taglib> com erro e dá a seguinte mensagem:



Eu usei a taglib do seguinte jeito





Quando eu simplesmente uso <web-app> sem nenhum atributo o erro
desaparece.
Qual url deve ser adicionada para poder ter suporte a tag JSTL?

Obrigado!
[MSN]
ItaloE
JavaBaby
[Avatar]

Membro desde: 24/08/2006 17:09:13
Mensagens: 76
Offline

Você deve coloca o jstl.jar na pasta /WEB-INF/lib/ de sua aplicação e adicionar a url <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
na pagina onde quer utilizar o taglib

"Think!"

"Povo estúpido tem q se F..., vamo nos para mais 4 anos de estupidez e ignorância. Mas o povo tem o que merece"
rafael.espiritosanto
JavaGuru
[Avatar]

Membro desde: 27/07/2006 10:51:26
Mensagens: 226
Localização: Rio de Janeiro
Offline

Eu já fiz isso.
O eclipse marca o erro logo no xml
[MSN]
ItaloE
JavaBaby
[Avatar]

Membro desde: 24/08/2006 17:09:13
Mensagens: 76
Offline

Toda a configuração que tenho no web.xml é essa:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4">
<display-name>Aplicacao web simples</display-name>
</web-app>

em nenhum momento eu faço referencia a jstl no .xml , como me parece ser o 'code' q vc colocou acima ... tenta deixar sem nada no xml referenta a jstl... se ano funfar, ja nao sei

"Think!"

"Povo estúpido tem q se F..., vamo nos para mais 4 anos de estupidez e ignorância. Mas o povo tem o que merece"
ItaloE
JavaBaby
[Avatar]

Membro desde: 24/08/2006 17:09:13
Mensagens: 76
Offline

corrigindo...nao é referencia a jstl...mas ve se consegue dar uma enxugada no .xml

"Think!"

"Povo estúpido tem q se F..., vamo nos para mais 4 anos de estupidez e ignorância. Mas o povo tem o que merece"
rafael.espiritosanto
JavaGuru
[Avatar]

Membro desde: 27/07/2006 10:51:26
Mensagens: 226
Localização: Rio de Janeiro
Offline

Pô, agora não tá dando mais esse erro. Em compensação quando eu uso
a tag, parece que ela não é reconhecida.

Por exemplo se eu uso <p>${atributo}</p>

Onde atributo é um atributo que eu "setei" no servlet.

Ai ele não mostra o conteúdo do atributo. Só mostra a String ${atributo}

O problema é que quando eu usava essa técnica sem usar o WTP
(fazia na mão) tudo funcionava perfeitamente.

É como se dentro do Eclipse não tivesse reconhecendo a tag do JSTL

[MSN]
ItaloE
JavaBaby
[Avatar]

Membro desde: 24/08/2006 17:09:13
Mensagens: 76
Offline

${} seria Expresion Language e nao faz parte da jstl, é uma implementação que vem do jsp. Vc tem que setar a tag <elIgnored>false</elIgnored> no seu web.xml.

Posso estar errado quanto a tag, mas o Expression language é algo a parte da jstl.

"Think!"

"Povo estúpido tem q se F..., vamo nos para mais 4 anos de estupidez e ignorância. Mas o povo tem o que merece"
Maracuja
GUJ Ranger
[Avatar]

Membro desde: 28/03/2006 10:18:44
Mensagens: 940
Localização: Behind the screen
Offline

Coloque na sua página JSP

<%@ page isELIgnored="false" %>

"Nunca deixarei de reclamar, mas espero reclamar de coisas melhores a cada dia..." Um amigo muito sabio
Fabio Kung
JavaEvangelist

Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline

Fala Rafael,

Esse é um problema clássico de versões da especificação de servlets que você está usando. Você define a versão que quer usar no web.xml (version="2.4", por exemplo).

Na versão mais antiga (2.3), você precisa referenciar todos os arquivos .tld das taglibs que vai usar no web.xml através de tags <taglib>, como você estava fazendo.

Indo além, a url para as taglibs do jstl na versão 2.3 de servlets era: http://java.sun.com/jstl/core, http://java.sun.com/jstl/fmt, etc. A expression language só podia ser usada dentro de tags jstl (<c:out value="${variavel}"/> ) e não direto no jsp. Isso pois era JSTL EL.

Na versão atualmente mais usada (2.4), você não precisa mais especificar os arquivos .tld das taglibs que vai usar. O conteiner procura automaticamente nos jars disponíveis no classpath (WEB-INF/lib, por exemplo).

A url das taglibs do jstl para a versão 2.4 mudou: http://java.sun.com/jsp/jstl/core, http://java.sun.com/jsp/jstl/fmt, etc. Além disso, a expression language agora pertence ao JSP (JSP EL) e não mais à JSTL, por isso você pode usar expressões ${variavel} em qualquer lugar do seu jsp, não restrito apenas a atributos de tags.

Procurando por oportunidades de emprego?
OndeTrabalhar.com
OndeTrabalhar.com Java?


http://blog.caelum.com.br


Fabio Kung
[WWW] [MSN] [ICQ]
omaisnormalbaba
JavaGuru

Membro desde: 27/03/2006 18:45:11
Mensagens: 223
Localização: Passos - Mg
Offline

taglib directive for "c" does not exist or TLD is not found..

Porque ele da esse erro em tempo de compilacao e nao em tempo de execucao. Ele da esse erro no eclipse com uma linha vermelha em baixo do codigo... mas eu executo e da certo....

omaisnormalbaba!!!!!!!!!!!!
[Email] [MSN]
Fabio Kung
JavaEvangelist

Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline

que plugin vc está usando para os jsps?
O standard.jar está no classpath?
a uri da taglib está certa?
Seu web.xml tem version="2.4" ?

Procurando por oportunidades de emprego?
OndeTrabalhar.com
OndeTrabalhar.com Java?


http://blog.caelum.com.br


Fabio Kung
[WWW] [MSN] [ICQ]
bonfarj
Java Ninja
[Avatar]

Membro desde: 28/03/2006 09:55:47
Mensagens: 298
Offline

Estou tendo um problema parecido, aparece taglib directive for "tags" does not exist or TLD is not found. Este "tags" é o nome da taglib onde ficam coisas específicas do nosso sistema, as classes não estão em um .jar pq estamos sempre modificando as taglibs. Estranho que no eclipse 3.1 (java 5) tudo funciona legal, só no EasyEclipse 3.2 (java 6) que dá problema. Não posso mais usar .tld, é isso?

abraços!

IGOR BRITO ALVES
@igoralves
JPinhead
JavaBaby
[Avatar]

Membro desde: 24/01/2005 12:57:40
Mensagens: 79
Offline

Estou com o mesmo problema... no eclipse aparece o erro, mas na execução não...


1 que plugin vc está usando para os jsps?
2 O standard.jar está no classpath?
3 a uri da taglib está certa?
4 Seu web.xml tem version="2.4" ?


1 amateras
2 sim está no classpath
3 está certa http://java.sun.com/jsp/jstl/core
4 sim. tem version 2.4

estou seguindo a apostila da caelum
existe outra alternativa?

Resolveu sozinho?? então poste a sua solução...
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team