[Resolvido] Devolver dados do Servlet na JSP

Pessoal;

Ao clicar no botão Salvar, os dados do meu formulário vão para a Servlet com sucesso, onde efetuo o registro no banco de dados e faço o request novamente para voltar na JSP.

Eu quero que, ao voltar na JSP, os dados que gravei no BD, continuem no formulário, ou seja, os dados que enviei na Servlet retornem para os formulários na JSP.

seguem as páginas:

JSP:

<%@ 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>Mantém Polo</title>
</head>
<body>
		<form action="AdicionaPoloServlet" method="POST">
			
		UF: <select size="1" name="uf">
			<option selected value="Selecione">Selecione</option>
			<option value="SP">SP</option>
			<option value="RJ">RJ</option>
			</select> <br />
			
			
			Polo: <input type="text" name="polo" /><br /><br />
		
				<input type="submit" value="Salvar" />

		</form>

</body>
</html>

Servlet:

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.JOptionPane;

import sun.misc.Request;

import business.PoloBusiness;

import dao.PoloDAO;

import jdbc.Polo;


 public class AdicionaPoloServlet extends HttpServlet {
	 
	 protected void service (HttpServletRequest request, HttpServletResponse response)
	 				throws IOException, ServletException{
		 
		 PrintWriter out = response.getWriter();
		 
		 String uf = request.getParameter("uf");
		 String nome = request.getParameter("polo");
		 
		 Polo polo = new Polo();
		 
		 polo.setUf(uf);
		 polo.setPolo(nome);

		 PoloDAO dao = new PoloDAO();
		 dao.adiciona(polo);

		 RequestDispatcher rd = request.getRequestDispatcher("/TelaPolo.jsp");  
		 request.setAttribute("uf", uf);
		 rd.forward(request,response);

	 }
    
}

Obrigado

Então Lucas,

como se trata de uma chamada em request, o estado anterior é perdido.

O ideal seria fazer uma chamada ajax, tipo, ao escolher um estado, ele faria a submissao apenas do estado selecionado, e popularia o outro combo com os resultados da sua lógica.

Outra forma, seria uma “lógica” pra que simulasse nao perder o estado, tipo o servlet tb teria que submeter o dado escolhido no combo.

Dê uma olhada em DWR, não sei se conhece, mas é uma ferramenta mto útil e bem fácil até para chamadas ajax.

O site do DWR apresenta alguns tutoriais bem fácil de acompanhar., de uma olhada: http://directwebremoting.org/dwr/index.html

Olá…

Consegui resolver através deste comando: “${param.polo}”, conforme abaixo

Polo: <input type="text" name="polo" value="${param.polo}"/><br /> <br />

Valewww