an>

JSP Tag Libraries

 

  Quando comecei a desenvolver com Java para web, uma das coisas que mais me frustrava no desenvolvimento JSP era a mistura de código Java com HTML, tornando as páginas pouco intuitivas tanto para os programadores, quanto para os web designers. Procurando uma solução para o problema, descobri que alguns produtos, como o ColdFusion da Macro media, oferecem um conjunto de tags similares às de HTML,permitindo executar muitas operações com pouco código nas páginas.

  Decidi então questionar o motivo pelo qual o JSP não tivesse algo parecido. Para minha surpresa, descobri que possui algo melhor: a possibilidade de desenvolver tags personalizadas, montando tag libraries (bibliotecas de tags). Para ilustrar o uso de tag libraries, vamos criar uma tag personalizada simples.

 

  Estados

  Existe um grande número de cadastros que possuem um campo correspondente ao Estado/UF. Por comodidade e com o objetivo de limitar a entrada somente a Estados válidos, é comum usarmos caixas de seleção com a tag HTML <select>(veja a Listagem 1).

  Em uma rápida inspeção, observamos alguns problemas com este código:

  • Não reutilização de código.O código não é reutilizável e estimula a prática de copiar e colar. É comum encontrar páginas JSP com o mesmo código repetido várias vezes, literalmente copiado.
  • Manutenção difícil. O código é difícil de manter. Se um novo Estado for adicionado, ou se for necessário mostrar a lista de estados de forma diferente, teremos que procurar em todas as páginas e alterar cada uma delas.
  • Ausência de separação entre HTML e Java. Note que para inserir aspas, temos que usar o caractere de escape barra (\), e que a endentação para o código Java é diferente da usada em código HTML, tornando-o difícil de ler.
  • Dificuldade na depuração. Você já viu os erros que o container JSP gera quando esquecemos um ponto-e-vírgula? E se você precisar executar passo-a-passo?Você usa System.out.println ()?

Obviamente, existem várias soluções mais elegantes. Dentre elas, uma das melhore sé o uso de tag libraries.

 

Listagem 1. Código JSP sem uso de tag libraries

<%

String[] estados = {“Alagoas”, “Amazonas”,/* ... */ “Tocantins”};

String[] siglas = {“AL”, “AM”,/* ... */ “TO”};

  String selectedEstado = request.getParameter(“estado”);

  out.println (“<select name=\”estado\”>”);

   out.println (“<option value=\”\”>&nbsp;</option>”); ...

Quer ler esse conteúdo completo? Tenha acesso completo