Passos Básicos para o Desenvolvimento de TagLibs Camila Nunes [email protected] TagLibs • O que são? – Biblioteca de tags customizadas que são utilizadas na composição de páginas JSP. • Por que utilizar? – Tags Customizadas nos ajudam consideravelmente a utilização de redundância de código em páginas JSP. a eliminar scriptlets e • Composição de uma tag – Uma classe Java contendo a sua implementação – Um arquivo “.tld” contendo seus metados TagLibs • Para criar e utilizar uma TagLib, deve-se seguir os seguinte passos: - Criar uma classe que extenda TagSupport (pacote servlet.jar) - Criar ou utilizar caso exista, um arquivo tld para poder mapear a TagLib criada e seus atributos. Utilizar: • - No arquivo JSP, é necessário passar o nome da tld configurada dentro do arquivo web.xml. A partir daí é só fazer a utilização da TagLib criada. © LES/PUC-Rio 3 Classes das TagLibs • Extender TagSupport (pacote servlet.jar ). • Criar os atributos (get e set). • Criar os métodos : – doStartTag(): marca o início da TagLib – doEndTag(): marca o fim da TagLib – release(): método responsável por inicializar os atributos criados. Obs: a implementação da funcionalidade pode ser tanto no método doStartTag ou do doEndTag. © LES/PUC-Rio 4 Arquivo de configuração da Tag (tld) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/webjsptaglibrary_1_1.dtd"> <taglib> <tlibversion>1.0</tlibversion> <jspversion>1.1</jspversion> <shortname>teste</shortname> <uri>/WEB-INF/taglibexemplo.tld</uri> <tag> <name>Teste</name> <tagclass>br.com.puc.exemplo.taglibs.TagLibExemplo</tagclass> </tag> </attribute> © LES/PUC-Rio 5 Arquivo de configuração da Tag (tld) <tag> <name>Select</name> <tagclass> br.com.puc.exemplo.taglibs.TagLibSelect </tagclass> <attribute> <name>nome</name> <required>true</required> </attribute> </tag> © LES/PUC-Rio 6 <tag> <name>horaAtual</name> <tagclass> br.com.puc.exemplo.taglibs.HoraAtualTag </tagclass> </tag> Exemplo de Utilização no JSP Declaração: <%@taglib uri=“/WEB-INF/tlds/taglibexemplo.tld" prefix=“t"%> Exemplo de utilização: <t:Teste/> © LES/PUC-Rio 8