Informações
| Tipo: | Tutorial |
|---|---|
| Data de Publicação: | 01/01/2004 |
| Revisado em: | 01/01/2004 |
Vote!
Tags Relacionadas
Comentários ( 3 )
Imprimir
Tratando Formulários
por:
Ulisses Telemaco (ulisses@j2eebrasil.com.br)
Os formulários são ferramentas úteis e muito usada em diversas aplicações. Hoje é difícil desenvolver uma aplicação para Web que não exija o uso de formulários.Nesta lição vamos aprender manipular formulários em aplicações JSP.
Os formulários são ferramentas úteis e muito usada em diversas aplicações: cadastro registros em um banco de dados, validação de um login/senha, envio de email, envio de dados de um pesquisa, etc. Hoje é difícil desenvolver uma aplicação para Web que não exija o uso de formulários. Pois bem, na lição de hoje vamos aprender manipular formulários em aplicações JSP.
Apresentamos abaixo um código para mostrar o formato de um formulário HTML e de seus objetos.
É importante fazermos algumas observações a cerca do código acima:
* No cabeçalho do formulário, indicamos através de action="pathdoarquivo/paginajsp.jsp" o arquivo JSP que receberá os seus dados;
* Cada objeto do formulário recebe um nome. Deve-se tomar bastante cuidado ao nomear tais objetos, isto porque, como sabemos, as variáveis Java são sensíveis maiúscula/minúscula.
Portanto, os objetos:
São objetos diferentes porque receberam nomes diferentes (variavel1 e Variavel1).
Mostraremos mais um exemplo (bastante simples) de como enviar dados a partir de um formulário a uma página JSP.
<%-- Arquivo teste.jsp --%>
A página jsp acima, chamada "teste.jsp", contém um formulário que envia para ela mesma. O valor digitado em uma caixa de texto será mostrado como título da página. Observe como fizemos isso:
1. A página para qual nós enviaremos os dados do formulário é designada no cabeçalho do formulário:
Arquivo "recebe_mês.jsp":
<%@ page import=java.util.Date %>
<%@ page import=java.lang.String %>
<%
String msg = "";
String mesString = request.getParameter("mesNasceu");
int mes = Integer.parseInt(mesString);
Date dateNow = new Date();
int monthNow = dateNow.getMonth() + 1;
mes -= monthNow;
if (mes == 1)
msg = "Falta apenas "+ mes +" mês para o seu aniversário.";
if (mes == -1)
msg = "Seu aniversário foi no mês passado";
if (mes > 1)
msg = "Faltam "+ mes +" meses para o seu aniversário.";
if (mes == 0)
msg = "Oba... estamos no mês do seu aniversário.";
else if (mes < 1)
{
mes *= -1;
msg = "Seu aniversário foi a "+ mes +" meses atrás.";
}
%>
voltar
O exemplo acima é um pouco menos simples que o primeiro. O arquivo "envia_mes-jsp" contém um formulário com um objeto select que envia o mês que a pessoa nasceu. Após escolher o mês e clicar no botâo "ok", o formulário chama a página "recebe_mês.jsp" e envia seus dados para ela. Esta segunda página é um pouco menos simples que a primeira. Vamos analisar o que ela faz:
3. Nas primeira linhas utilizamos as tags "page import" para indicar quais classes iremos utilizar em nossa página:
<%@ page import=java.util.Date %>
<%@ page import=java.lang.String %>
4. Cinco objetos são criados e inicializados.
5. Usamos o método "request.getParameter(´nomedoparametro´)" com a finalidade de pegar o valor passado para a página através de algum formulário ou passando diretamente em sua URL. O segundo objeto foi inicializado utilizando esse método para pegar o valor passado pelo formulário:
String mesString = request.getParameter("mesNasceu");
6. O valor passado através de um formulário ou através da URL da página é sempre do tipo String. Ao inicilizarmos o terceiro objeto, o método "Integer.parseInt(variavelString)" transformou o valor contido na variável mesString em Inteiro.
int mes = Integer.parseInt(mesString);
7. O penúltimo objeto criado é do tipo Date (daí a importância de termos importado a classe java.util.Date na primeira linha de nossa página). Ele é inicializado com a hora local do servidor.
Date dateNow = new Date();
8. Na inicialização do último objeto utilizamos o método "dateNow.getMonth()" que retorna um inteiro indicando o valor da variável. Somamos 1 ao valor retornado a partir desse método porque ele retorna 0 para janeiro, 1 para fevereiro e assim por diante.
int monthNow = dateNow.getMonth() + 1;
9. Cinco teste são efetuados dentro de um script (<% e %>). Eles são usados para definir o valor que a variável "msg" terá, ou seja, a partir dos testes, decidiremos qual mensagem será exibida na tela.
10. Após efetuar os testes, o texto HTML é inserido na página.
11. Uma expressão (<%= %>) é usada para exibir o valor da variável "msg":
<%= msg %>
<%= request.getParameter("teste") %>
<%= msg %>
voltar
Comentários (3)
- sou aluno da area de informática, e necessita fazer um programa em java mostrando como funciona algo o formulário desta pagina (codigo comentado) .
- postado por marcos junior lima da silva em 08/11/2006 às 23:21
- belo tuto
- postado por cast em 08/02/2007 às 23:21
- obrigado
- postado por sandro em 10/04/2008 às 23:21
