Informações
| Tipo: | Tutorial |
|---|---|
| Data de Publicação: | 01/01/2004 |
| Revisado em: | 01/01/2004 |
Vote!
Tags Relacionadas
Comentários ( 6 )
Imprimir
Tratando de Formulários com JSP
por:
Ulisses Telemaco (ulisses@j2eebrasil.com.br)
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.
<html>
<body>
<!-- cabeçalho do formulário -->
<form name="nomedoformulario" action="paginajsp.jsp" method="get">
<!-- caixa de texto -->
<input type="text" name="variavel1" size=40 maxlength=40>
<!-- caixa de texto para senha -->
<input type="password" name="variavel2" size=40 maxlength=40>
<!-objeto do tipo radio -->
<input type="radio" name="variavel2" value="valordavariavel">Texto da Varivavel 2
<!-objeto do tipo checkbox -->
<input type="checkbox" name="variavel3" value="xxxxx"> Texto da Varivavel 3
<!-objeto do tipo select -->
<select name="variavel4">
<option value="valor1">Valor 1
<option value="valor2">Valor 2
<option value="valor3">Valor 3
</select>
<!- area de texto -->
<textarea name="variavel5" cols=40 rows=2>
Texto da Variavel 5
</textarea>
<!- objeto hidden, para enviar dados que o usuário não vê no formulário -->
<input type="hidden" name="asd" value="asd">
<!- botão -->
<input type="button" value="textodobotao">
<!- botao de limpar informações do formulário -->
<input type="submit" value="limpar">
<!- botao de enviar formulário -->
<input type="submit" value="ok">
<!- imagem colocada para funcionar com botao de envio de formulário -->
<input type="image" src="pathdaimage/image.gif">
<!- objeto para anexar arquivo -->
<input type="file" name="asdas" accept="asd">
</form>
</body>
</html>
É 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:
<input name="variavel1" type="text" value="">
<input name="Variavel1" type="text" value="">
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 --%>
<html>
<body>
<center><h1> <%= request.getParameter("teste") %> </h1></center>
<form action="teste.jsp" method=get>
<input type="text" name="teste" size=40 maxlength=40><br>
<input type="submit" value="enviar">
</form>
</body>
</html>
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:
- A página para qual nós enviaremos os dados do formulário é designada no cabeçalho do formulário:
<form action="teste.jsp" method=get>
- O nome do objeto caixa de texto caixa de texto ("teste") é usado na expressão
request.getParameter("teste"). Note que se usássemos request.getParameter("Teste")
(com T maiúsculo), a página não iria retornar o valor digitado na caixa de texto.
O próximo exemplo é formado por dois arquivos. O primeiro pode contém apenas códigos HTML e o segundo contém códigos HTML e JSP.
Arquivo "envia_mês.htm":
<html> <body> <h3>Qual o mês do seu aniversário?</h3> <form action="recebe_mes.jsp" method=get> <select name="mesNasceu"> <option value="1">Janeiro <option value="2">Fevereiro <option value="3">Março <option value="4">Abril <option value="5">Maio <option value="6">Junho <option value="7">Julho <option value="8">Setembro <option value="9">Agosto <option value="10">Outubro <option value="11">Novembro <option value="12">Dezembro </select> <input type="submit" value="enviar"> </form> </body> </html>
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."; } %> <html> <body> <center> <h3><%= msg %></h3> <br><br><br> <a href="Javascript:history.back(-1)">voltar</a> </center> </body> </html>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:
- 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 %>
- Cinco objetos são criados e inicializados.
- 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"); - 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);
- 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();
- 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;
- 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.
- Após efetuar os testes, o texto HTML é inserido na página.
- Uma expressão (<%= %>) é usada para exibir o valor da variável "msg":
<%= msg %>
Comentários (6)
- Gostaria de saver como faz para criar um cookie com os valores login e senha e depois verificar se estão corretos e abrir uma certa página senão abrir outra de erro
- postado por Paulo em 13/10/2006 às 23:21
- Gostaria de saber, quando eu tenho um formulário com varios campos, como faço para meu request.getparameter pegar os valores e strings dos campos, já que são misturados?
- postado por Petronilo Padilha em 27/04/2007 às 23:21
- Olá. Gostaria de saber como faço para verificar, usando o método, POST ou GEt (não sei qual dos dois), se um campo do formulário já está cadastrado no Banco de dados. Por xeemplo, quando digito o cpf, ele vai no banco de dados e verifica se esse cpf já foi cadastrado. Tô usando o cpf=request.getParameter("cpf");, mas num tá dando certo. Obrigado
- postado por Luiz Paulo em 04/06/2007 às 23:21
- 948b9d68 46143bbe fe4 for more info click to danni minogue lesbian video [URL= http://ala-i-as.com/website/media/lesbian.php?q=danni-minogue-lesbian-video ]danni minogue lesbian video[/URL] about armpitlicking lesbian [URL= http://ala-i-as.com/website/media/lesbian.php?q=armpitlicking-lesbian ]armpitlicking lesbian[/URL] big cock sex anal lesbian [URL= http://ala-i-as.com/website/media/lesbian.php?q=big-butts-lesbians ]big cock sex anal lesbian[/URL] information aphrodite academy lesbian [URL= http://ala-i-as.com/website/media/lesbian.php?q=antoinette-molino-lesbian ]aphrodite academy lesbian[/URL] about about anna faris lesbian kiss vid [URL= http://ala-i-as.com/website/media/lesbian.php?q=anna-faris-lesbian-kiss-vid ]anna faris lesbian kiss vid[/URL] black lesbian porn [URL= http://ala-i-as.com/website/media/lesbian.php?q=black-lesbian-poetry ]black lesbian porn[/URL] about bbw lesbian movies [URL= http://ala-i-as.com/website/media/lesbian.php?q=bbw-lesbian-movies ]bbw lesbian movies[/URL] about ameteur lesbians first time [URL= http://ala-i-as.com/website/media/lesbian.php?q=ameteur-lesbians-first-time ]ameteur lesbians first time[/URL] about amy courter lesbian [URL= http://ala-i-as.com/website/media/lesbian.php?q=ammy-girls-lesbian-porn ]amy courter lesbian[/URL] information about abbey winters lesbians [URL= http://ala-i-as.com/website/media/lesbian.php?q=aa-cup-lesbians-kissing ]abbey winters lesbians[/URL] big butt lesbians [URL= http://ala-i-as.com/website/media/lesbian.php?q=big-busty-lesbians ]big butt lesbians[/URL] about about animated lesbian sex [URL= http://ala-i-as.com/website/media/lesbian.php?q=animated-cartoonlesbians ]animated lesbian sex[/URL] dolores o riordan lesbian [URL= http://ala-i-as.com/website/media/lesbian.php?q=dolly-parton-lesbian ]dolores o riordan lesbian[/URL] information where get cruel lesbian rape pictures info [URL= http://ala-i-as.com/website/media/lesbian.php?q=cruel-lesbian ]cruel lesbian rape pictures info[/URL] ? for more info click to amateur lesbian sex videos [URL= http://ala-i-as.com/website/media/lesbian.php?q=amateur-lesbian-sex-clips ]amateur lesbian sex videos[/URL] find more about anal sex hot lesbians here [URL= http://ala-i-as.com/website/media/lesbian.php?q=anal-lesbianthumbs ]anal sex hot lesbians here[/URL] about cheerleader lesbian orgy information [URL= http://ala-i-as.com/website/media/lesbian.php?q=cheatinglesbians-natasha ]cheerleader lesbian orgy information[/URL] about britney spears shannon funk lesbian [URL= http://ala-i-as.com/website/media/lesbian.php?q=britney-spears-lesbian-rumors ]britney spears shannon funk lesbian[/URL] where get blonde college lesbians info [URL= http://ala-i-as.com/website/media/lesbian.php?q=blonde-busty-lesbians ]blonde college lesbians info[/URL] ? where get alesbian stories info [URL= http://ala-i-as.com/website/media/lesbian.php?q=alcoholics-anonymous-meetings-lesbian-maryland ]alesbian stories info[/URL] ? Lucky to find you, keep on the good workk guys! Best of luck.
- postado por Sveta em 03/10/2007 às 23:21
- mxqgiq no credit check student loan mxqgiq mxqgiq loan for student with bad credit mxqgiq mxqgiq Buy Adderall Online mxqgiq mxqgiq Aricept mxqgiq mxqgiq BACTRIM mxqgiq
- postado por mxqgiq em 03/03/2008 às 23:21
- Preteen Lingerie Gallery
- postado por Preteen Girl Kissing em 09/05/2008 às 23:21
