sábado, 22 de maio de 2010

Custom Tags: Exemplo Rápido

Fala javeiros! Neste post iremos ver um dos assuntos mais chatos complexos da prova de SCWCD: Custom Tags. E não tô falando de usar JSTL não... a gente vai aprender como construir nossa própria JSTL (guardadas as devidas proporções claro).
Neste primeiro post não vamos falar muito. Queremos que você, leitor, veja todo o processo de construção de uma custom tag. Não fiquei preocupado por não entender quase nada das tags, atente apenas a sequência da construção. Espero que gostem do post! Hands on!

A construção de custom tags envolve basicamente 3 passos:

  1. Criar uma classe que implemente a interface Tag ou estender uma de suas implementações da API.
  2. Criar um arquivo .tld que definirá a sua tag.
  3. Mapear a tag no descritor da aplicação (web.xml).
Para o nosso exemplo iremos construir uma tag que mostra a data atual no formato dd/mm/yyyy hh:mm:ss. É um exemplo bem simples, porém perfeitamente extensível e didático.

Para o primeiro passo nós iremos utilizar a classe javax.servlet.jsp.tagext.BodyTagSupport. Esta classe é fornecida pela própria API e facilita bastante o trabalho de construção de tags, bom mas isso não nos interessa no momento, o importante é saber que temos que estedê-la. 
Na figura abaixo podemos ver a implementação da nossa classe principal.























Para o segundo passo iremos definir a nossa tag no arquivo mytags.tld.
Veja como fazer isso na figura abaixo:

















Por último, temos que mapear a nossa tag no arquivo web.xml de nossa aplicação.














Pronto! Nossa primeira tag foi construída. Simples, não? Apesar de ser chamada de Simple Tags, construir tags não tem nada de simples, são muitas classes e interfaces possíveis de estender, o retorno dos métodos é feito através de constantes (chato de memorizar) e sem contar que temos que criar um arquivo xml e alterar o descritor e cada um com várias possíveis tags para memorizar. Mas temos que estudar né, fazer o que.
Em posts seguintes veremos mais detalhes sobre a construção de tags, agora pra terminar de vez este post, vejamos como fica a nossa tag em uma página JSP e qual o seu resultado após a execução da página.





Ao executar esta JSP devemos obter um resultado parecido com o abaixo:

Hoje são 22/05/2010 14:58:30
Até o próximo post!

Um comentário:

  1. Ótimo post! Obrigado, me ajudou muito nos estudos para SCWCD.

    Grande abraço,
    Wilson Filho

    ResponderExcluir