Clique aqui para ler esse artigo em PDF.
JSTL no Tomcat 5
Crie páginas JSP complexas sem código Java
Aprenda na prática a usar a JSTL, que fornece um conjunto padronizado de tags, eliminando a necessidade de scriptlets em páginas JSP
Na primeira parte desta série, na Edição 18, vimos a instalação do Tomcat 5.0.x, suas ferramentas de administração e como escrever páginas JSP 2.0. Propositadamente, foram deixados de fora alguns recursos da especificação JavaServer Pages, pois o objetivo não é escrever aplicações inteiramente como páginas JSP. Queremos utilizar a tecnologia apenas como camada de apresentação, deixando a lógica de negócios e o acesso a dados para classes Java “tradicionais”, que são bem melhor equipadas para a tarefa.
Nesta segunda parte, o objetivo é apresentar na prática a JSTL, a biblioteca padrão de tags JSP. São demonstrados também os recursos incorporados à versão 1.1 da JSTL, que foi criada para compatibilizá-la com novas APIs do JSP 2.0. A JSTL permite criar páginas dinâmicas bastante complexas sem utilizar nenhum scriptlet, ou seja, sem escrever código Java na página JSP, o que facilita bastante a interação entre desenvolvedores e web designers. Além disso, fornece tags que tornam fáceis tarefas que exigiriam várias linhas de código Java, como a formatação de números e datas seguindo as configurações regionais do usuário.
Instalando o JSTL no Tomcat 5
Para que possamos tirar proveito da JSTL, iremos acrescentar ao nosso ambiente (que atualmente é apenas o Tomcat 5.0.x) outro pacote de software livre fornecido pelo projeto Apache Jakarta, o Taglib-Standard, que é a implementação de referência da JSTL.
Visite jakarta.apache.org/site/binindex.cgi e navegue até o subtítulo “Taglibs”; clique em “Library Releases” e na página seguinte entre na pasta standard. Ou utilize diretamente um dos muitos sites espelho do projeto, por exemplo ftp.pucpr.br/apache/jakarta/taglibs. Entre na pasta binaries e baixe o arquivo jakarta-taglibs-standard-1.1.1.zip, ou uma versão mais recente que se torne disponível depois deste artigo ser publicado. Descompacte o pacote ZIP em um diretório de sua preferência. O resultado será a criação da estrutura de pastas apresentada na Figura 1.
Atenção: Não baixe os arquivos jakarta-taglibs-standard-1.0.x.zip. Eles são voltados ao JSP 1.2 (Tomcat 4.x) e não para o JSP 2.0 (Tomcat 5.0.x). Veja mais no quadro "JSTL 1.1 x JSTL 1.0".
Na verdade, você nunca irá instalar o JSTL em um container web J2EE como o Tomcat – você incorpora a JSTL à sua aplicação web, ou seja, adiciona-a ao pacote WAR correspondente, como uma biblioteca de classes qualquer.
Testando a instalação da JSTL
Copie o arquivo standard-examples.war fornecido com o Taglibs Standard para a pasta webapps da sua instalação do Tomcat 5.0.x (a versão do JSTL sugerida não irá funcionar com a série 4.x do Tomcat). Inicie o servidor e visite a URL http://127.0.0.1:8080/standard-examples. O resultado deverá ser o mostrado na Figura 2.
Observe a faixa azul com links para os exemplos, que são categorizados pelas tags utilizadas. Entre na categoria “Conditionals” e procure pelo exemplo “<choose> Mutually Exclusive Conditional Execution”. Clique no ícone com engrenagens (
O outro ícone que aparece em todos os exemplos (
A documentação do Taglibs Standard, que vem empacotada no arquivo standard-doc.war, contém apenas arquivos HTML estáticos. Portanto pode ser descompactada pelo utilitário jar do JSDK ou qualquer outra ferramenta que suporte o formato ZIP, e ser consultada sem que seja feito o deploy em um container web. Porém, esta documentação descreve apenas particularidades da implementação feita pela Apache Foundation do padrão JSTL criado pelo JCP, como quais pacotes JAR contêm quais tags e o JavaDoc das classes que implementam esses tags.
Será necessário baixar a especificação (ou algum tutorial) para obter a lista de tags e seus atributos. Afinal, como o pacote Jakarta Taglibs Standard apenas implementa a especificação JSTL, não há necessidade de repetir em sua documentação o que já foi dito na especificação. Uma opção mais leve para conhecer detalhes da JSTL, e suficiente para a maioria dos casos, é a série "JSTL Guia Completo" de Felipe Leme, publicada nas Edições 7, 8 e 9. Mais sobre o projeto Jakarta Taglibs em geral pode ser visto na Edição 15.
Primeiro exemplo: tags de formatação
Poderíamos inserir páginas JSP no contexto standard-examples para iniciar o aprendizado de JSTL, mas, como vimos na primeira parte como criar um novo contexto no Tomcat, vamos partir logo para uma aplicação independente, livre de páginas e classes desnecessárias, e que o leitor poderá usar como modelo para suas próprias aplicações.
Em uma pasta qualquer, crie o diretório javamagazine-jstl, que será a raiz do nosso projeto. Dentro dele, crie as pastas WEB-INF/classes e WEB-INF/lib, e o arquivo WEB-INF/web.xml mínimo, que é apresentado na Listagem 1, para quem não está com a edição anterior da Java Magazine à mão.
Finalizada a estrutura de nossa aplicação web, vamos criar uma página que ilustra um pouco do poder da JSTL. Ela exibe a data atual, formatada corretamente para as configurações regionais do usuário, o que exigiria o uso de várias linhas de código Java se fossem usados scriptlets. " [...] continue lendo...