Enviar 3 parâmetros do JSP para um Servlet

10 respostas
P

Pessoal,

Quero receber 3 valores do JSP (que serão digitados pelo user) e receber no Servlet, e enviar para as classes para fazer consultas no BD…

Terá a opção de enviar os 3 de uma só vez, ou 2 deles ou apenas 1…

Fiz para o caso de apenas 1, com radio, mas a parte do servlet não sei como fazer:

<%@ 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">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Pesquisar</title>
</head>
<style type=text/css>
.canto {
	top: 15px;
} 
</style>

<script type="text/javascript">
function mostraCampo(value) {
	if(value==1){
	   document.form.dispositivo.style.visibility = "visible";
	   document.form.simcard.style.visibility = "hidden";
	   document.form.linha.style.visibility = "hidden";
	} else if (value ==2){
		 document.form.simcard.style.visibility = "visible";
		 document.form.dispositivo.style.visibility = "hidden";
		 document.form.linha.style.visibility = "hidden";
	} else {
		document.form.linha.style.visibility = "visible";
		document.form.dispositivo.style.visibility = "hidden";
		document.form.simcard.style.visibility = "hidden";
	}
	}
</script>
<body> 
	
	<form name="form" id="form" action="ServletUpload" method="post" enctype="multipart/form-data">
	<center>
		Em Manutenção
	<br>
	<br>
	<table>
			<td>
			<input type="radio" name="chk1" id="chk1" onclick="javascript:mostraCampo(1);" value="1" />
			Dispositivo: <input type="text" size="22" name="dispositivo" id="dispositivo" style="visibility:hidden;" />
			
			<input type="radio" name="chk1" id="chk1" onclick="javascript:mostraCampo(2);" value="2" />
			SIMCard: <input type="text" size="22" name="simcard" id="simcard" style="visibility:hidden;" />
			
			<input type="radio" name="chk1" id="chk1" onclick="javascript:mostraCampo(3);" value="3" />		
			Linha: <input type="text" size="22" name="linha" id="linha" style="visibility:hidden;" />
			</td>
	</table>
	<br>
	<br>
	<button type="reset">
            	<span>Limpar</span>
	</button>
	<br>
	<br>
		<input type="submit" value="Pesquisar" />
	<br>
	<br>
	<br>
       	<a href='opcao.jsp'>Voltar</a>
    <br>
    <br>
	</form>
		<div class="canto"><img src="./img/Seguro.jpg" border="0" width="310" height="434"></div>
	</center>	
</body>
</html>

10 Respostas

diogozero

Os 3 serão recebidos no seu servlet de qualquer maneira. Trate pra ver se os valores deles são vazios, assim você pode saber quais foram enviados.

P

É que eu não sei como montar o servlet… essa é minha dúvida…

diogozero

Sabe recuperar os valores dos campos de texto?

String dispositivo = request.getParameter("dispositivo");
String simCard = request.getParameter("simcard");
String linha = request.getParameter("linha");

Depois disso você verifica quais valores vieram vazios, dai vai saber quais o usuário quis enviar ou não.

T

Cara vc já tentou usar normal:

request.getParameter(“idDoComponete”);

T

diogozero:
Sabe recuperar os valores dos campos de texto?

String dispositivo = request.getParameter("dispositivo");
String simCard = request.getParameter("simcard");
String linha = request.getParameter("linha");

Depois disso você verifica quais valores vieram vazios, dai vai saber quais o usuário quis enviar ou não.

Isso ai !!

Desse jeito Mesmo…

P

Entendi… valeu pessoal… vou montar aqui qualquer coisa eu venho aqui encher o saco de vcs, rsrs…

P

Pessoal.... desculpe pelas perguntas idiotas.. mas é que faz tempo que não mexo em WEB

Eu criei o Servlet só que está vindo "null" .... e alem de arrumar isso, precisava saber como faço para poder enviar para a classe de pesquisa....

package servlet.br.com.simcard;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/ServletPesquisa")
public class ServletPesquisa extends HttpServlet {
	private static final long serialVersionUID = 1L;
       

    public ServletPesquisa() {
        super();
        
    }


	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
	}


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
				
		String dispositivo = request.getParameter("dispositivo");   
		String simCard = request.getParameter("simcard");   
		String linha = request.getParameter("linha"); 
	
		
		if (dispositivo != null){
			System.out.println(dispositivo);
		} else if (simCard != null){
			System.out.println(simCard);
		} else {
			System.out.println(linha);
		}
		
		
	}

}
diogozero

Seu formulário está com enctype=“multipart/form-data”
Tire esse atributo e deve funcionar.

P

não funcionou… Quer dizer funcionou… só que quando coloco os dados, em qualquer um dos campos, ele só passa dispositivo…

P

alguma outra idéia?

pois assim está enviando apenas os dados do dispositivo, se eu selecionar o simcard ou a linha, vai o valro que está no dispositivo…

Criado 14 de dezembro de 2012
Ultima resposta 14 de dez. de 2012
Respostas 10
Participantes 3