Uso de Tag File como um controle de Datas.

Hoje fiz uma coisa interessante: usei uma tag fle (*.tag) para gerar um “controle” que representa uma data em um formulário JSP e que poderá ser reutilizado em várias outra páginas, bastando incluir a tag file.

Repare que no uso da tag no trecho de código da página JSP eu consigo parametrisar o nome dos controles <select> (HTML) através da declaração de atributos na Tag File

Código da Tag File:

<%@ taglib prefix=“c” uri=http://java.sun.com/jsp/jstl/core&#8221;%>
<%@ taglib prefix=“my” uri=“DataFunctions” %>
<%@ attribute name=“diaField” required=“true” rtexprvalue=“true” %>
<%@ attribute name=“mesField” required=“true” rtexprvalue=“true” %>
<%@ attribute name=“anoField” required=“true” rtexprvalue=“true” %>
<select name=${diaField}>
<c:forEach var=“diaVar” begin=“1” end=“31”>
<option value=${diaVar}>${diaVar}</option>
</c:forEach>
</select>
<select name=${mesField}>
<c:forEach var=“mesVar” begin=“1” end=“12”>
<option value=${mesVar – 1}>${mesVar}</option>
</c:forEach>
</select>
<select name=${anoField}>
<c:forEach var=“anoVar” begin=“1900” end=“2011” step=“1” varStatus=“loop”>
<option value=${loop.end – loop.count}>${loop.end – loop.count}</option>
</c:forEach>
</select>


Trecho de código da pag JSP que o usa:

<%@ taglib prefix=“my” tagdir=“/WEB-INF/tags”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”&gt;
<html>
<head>
<tr>
<td>Data de nascimento</td>
<td>
            <my:data diaField=“dia” mesField=“mes” anoField=“ano”/>            </td>
</tr>
 
 

Resultado:

O código que captura as datas no servidor (é um servlet):

String dia = request.getParameter(“dia”);
String mes = request.getParameter(“mes”);
String ano = request.getParameter(“ano”);
        
Calendar cal = GregorianCalendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(dia));
cal.set(Calendar.MONTH , Integer.parseInt(mes));
cal.set(Calendar.YEAR , Integer.parseInt(ano));
Date dtnasc = cal.getTime();
Esta entrada foi publicada em Servlet & JSP. ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s