Criando uma taglib - passo a passo
1º passo, vamos criar uma classe Java que proverá o conteúdo que desejamos.
Ex.: Vamos criar uma classe que informe a data atual do sistema em formato longo.
package taglibs;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
@SuppressWarnings("serial")
public class DataAtual extends TagSupport {
public int doStartTag() throws JspException {
try {
String formatoLong = "EEEEEE',' dd 'de' MMMM 'de' yyyy";
SimpleDateFormat formatter = new SimpleDateFormat(formatoLong);
String horaAtual = formatter.format(Calendar.getInstance()
.getTime());
pageContext.getOut().print(horaAtual);
} catch (IOException e) {
throw new JspException(e.getMessage());
}
return SKIP_BODY; //SKIP_BODY informa que a tag é simples
}
}
2º passo, agora que temos nossa classe, vamos criar um arquivo com extensão . tld que a descreva, um arquivo descritor de tags, neste arquivo podemos descrever quantas tags customizadas quisermos.
*Clique c/ o botão direito do mouse sobre o diretório Web-INF e crie uma pasta (exemplo: tags) e dentro desta pasta criaremos um arquivo .tld (figuras 01 e 02).
Figura 01:
Figura 02:
*Vamos dar um nome para nosso arquivo .tld (exemplo: minhasTags.tld) .
Logo após clique em finish. (figura 03).
Figura 03:
*Agora dentro de nosso arquivo minhasTags.tld inserimos as seguintes tags:
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
" http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>MinhasTags</shortname>
<info>Minhas tag's customizadas </info>
<tag>
<name>dataAtual</name> <!-- nome para minha tag -->
<tagclass>taglibs.DataAtual</tagclass> <!-- nome da classe que implementa a tag -->
<bodycontent>JSP</bodycontent> <!-- define se a classe vai possuir corpo ou não -->
<info>Mostra a hora atual do sistema em formato lonfo</info> <!-- descreve o que a tag faz
-->
</tag>
</taglib>
3º passo, vamos configurar nossa tag no web.xml:
<jsp-config>
<taglib>
<taglib-uri>/tags/minhasTags</taglib-uri>
<taglib-location>/WEB-INF/tags/minhasTags.tld</taglib-location>
</taglib>
</jsp-config>
4º passo, vamos criar uma página .jsp (exemplo: index.jsp).
Agora dentro de nossa página índex.jsp vamos utilizar esta tag:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="/tags/minhasTags" prefix="data"%>
<!—uri= caminho até o meu arquivo .tld-->
<!—prefix= nome qualquer para minha tag (exemplo: data)-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Porto alegre, <data:dataAtual></data:dataAtual>
</body>
</html>
Salvou minha vida
ResponderExcluirOpa! Legal que esse post te ajudou. Valeu Hermivaldo!
ResponderExcluir