You are on page 1of 2

JSTL JSP Standard Tag Library

Lucas de Carvalho Geiss Universidade do Vale do Rio dos Sinos - Unisinos lgeiss@pop.com.br Resumo
A JSTL constitui mais um importante recurso no desenvolvimento de aplicaes web e J2EE. Ela no apenas fornece dezenas de tags teis e padronizadas, mas tambm facilita a remoo de cdigo Java das pginas JSP, simplifica a manuteno e eleva a clareza. Esta composta de quatro taglibs: Core, Format, Sql, Xml, Fmt; alm de uma linguagem de expresses e uma API para integrao de novas tags JSTL.

1. Introduo
A tecnologia JSP fornece um poderoso recurso na confeco de pginas web: as bibliotecas de tags, ou taglibs. Atravs delas, possvel encapsular trechos de cdigo Java em tags, facilitando a manuteno(principalmente durante a interao entre desenvolvedores e designers), aumentando a clareza do cdigo e estimulando o reuso das pginas. Apesar das taglibs caminharem lado a lado com o JSP desde sua verso 1.1, no existia at h pouco tempo uma biblioteca oficial de tags, o que obrigava os desenvolvedores a implementarem tags para tarefas comuns, gastando horas preciosas de desenvolvimento em algo bsico, fora do escopo da aplicao em si. Felizmente essa situao est mudando, com a padronizao da JSTL(JSP Standard Tag Library).

Na verso anterior do JSP(1.2), existiam duas maneiras de passar valores aos atributos de uma taglib: estaticamente ou atravs de expresses (tambm chamadas de request-time expressions ou simplesmente RT). Embora flexvel, o uso de expresses RT compromete a manuteno das pginas JSP, pois seu uso requer conhecimentos da linguagem Java o que dificulta o trabalho dos designers envolvidos. A expression Language (EL) visa eliminar esse problema, facilitando o acesso aos objetos e aos seus mtodos.

2.2. Biblioteca Core


A taglib Core, fornece tags para realizar tarefas bsicas, como manipulao de objetos, tratamento de excees, fluxo condicional, interaes e manipulao de URLs.

2.3. Biblioteca Format


A taglib Format, fornece tags para internacionalizao de mensagens atravs de resource bundles, alm de localizao na formatao de dados nmeros, datas, horrios e valores monetrios por meio de locales ou patterns especficos.

2.4. Biblioteca SQL


A taglib SQL, fornece tags para a manipulao bsica de bancos de dados, suportando operaes tais como a realizao de consultas de leitura e escrita e o gerenciamento de transaes. Embora, estas tags facilitem muito o acesso a banco de dados a partir de JSPs, o seu uso transfere a lgica de persistncia de dados para a camada de apresentao. Essa alternativa aceitvel em pequenos projetos, ou mesmo em teste e na prototipao de projetos maiores, mas no recomendvel para projetos de mdio e grande porte.

2. Bibliotecas Core, Format, SQL e XML.


Uma das caractersticas da linguagem Java o seu suporte internacionalizao e localizao. Outras caractersticas conhecidas pela maioria o suporte a banco de dados atravs da API JDBC e tambm o precessamento e a integrao com XML. Estas bibliotecas, tornam disponveis esses recursos no desenvolvimento de JSPs.

2.1. Linguagem de expresses

2.5. Biblioteca XML


A taglib XML, fornece tags para a manipulao de elementos XML, controle de fluxo baseado em expresses Xpath (notao usada para definir e selecionar partes de um documento XML) e transformaes de documentos XML com XSLT. O XML j se afirmou como padro para o intercmbio de informaes entre sistemas. A tecnologia Java tem acompanhado sua evoluo, oferecendo em cada nova verso do J2SE e J2EE novas APIs para o precessamento e a integrao com XML, tais como as JAXP, JAXB e JAX-RPC. Com a JSTL, esse suporte for estendido, de forma padronizada, ao desenvolvimento de pginas JSP.

importantes, pois sem elas a insero de tags nas pginas torna-se uma tarefa tediosa e sujeita a erros de digitao e sintaxe. A JSTL j suportada total ou parcialmente por muitos IDEs.

5. JSTL 1.1 e o futuro


A JSTL 1.0 introduziu o conceito de EL nas pginas JSP; o JSP 2.0 incorpora a EL, cujo suporte e processamento passa a ser responsabilidade do container web. A JSTL 1.1, ainda em fase preliminar, for principal objetivo a adequao das bibliotecas ao novo mecanismo de EL do JSP 2.0. Mudanas nas suas funcionalidades como melhorias nas tags existentes, novas tags e bibliotecas adicionais s sero feitas na prxima verso, com codinome JSTL.next (mas ainda sem JSR definido). Com relao ao novo mecanismo de EL, a principal mudana a introduo de funes, que aumentam muito a flexibilidade da linguagem, visto que seu uso antes ficava limitado chamada de mtodos de objetos seguindo o padro JavaBeans. A JSP 1.1 necessita de um container JSP com suporte a servlets 2.4 e JSP 2.0, como Tomcat 5.0. Outro fato importante que pginas JSP desenvolvidas baseando-se no JSP 1.0 sero compatveis com a JSTL 1.1, porm continuaro usando a EL da JSTL(e no a do JSP 2.0). Para usar os recursos da EL do JSP jstl/xxx, onde xxx o nome da taglib(core,fmt,sql,xml ou a nova functions).

3. Validadores de taglibs - TLVs


A especificao JSP 1.2 introduziu os validadores de taglibs (tagLib Validators ou TLVs). Um TLV um elemento opcional de uma taglib e, embora normalmente seja utilizado para validar os atributos e contedo do corpo das tags, tambm pode ser usado para impor restries nas pginas JSP que importem a taglib. Essas restries podem ser teis, por exemplo, para forar o uso da arquitetura Model 2, na qual a camada de apresentao totalmente separada da camada de modelo. A JSTL fornece duas TLVs que podem ser reusados por desenvolvedores de taglibs: ScriptFreeTLV e PermittedTaglibsTLV. O ScriptFreeTLV pode ser usado para restringir os recursos JSP a serem utilizados na pgina (por exemplo, scriptlets ou declaraes). J o PermittedTaglibsTLV permite restringir quais taglibs a pgina pode importar, alm da taglib que utilizou o TLV.

12. Referncias
[1] Leme Felipe, "JSTL Guia Completo", Java Magazine, Neofcio Editora, Graja - RJ, Edio 7 Ano I, pp. 34 - 40. [2] Leme Felipe, "JSTL Guia Completo", Java Magazine, Neofcio Editora, Graja - RJ, Edio 8 Ano I, pp. 40 - 46. [3] Leme Felipe, "JSTL Guia Completo", Java Magazine, Neofcio Editora, Graja - RJ, Edio 9 Ano II, pp. 36--42. [4] Sun Microsystems, http://java.sun.com/products/jsp/jstl. [5] Jakarta, http://jakarta.apache.org.

4. Integrao com IDEs


A maior parte das IDEs atuais eferee recursos para o desenvolvimento de pginas JSP, inclusive com Code Completion para taglibs. So funcionalidades muito

You might also like