Pessoal;
Eu tenho a seguinte JSP que inicializa com todos os dados do BD numa grd de pesquisa, só que pretendo implementar um filtro de pesquisa.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*, dao.*, jdbc.*" %>
<!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>Pesquisa Polo</title>
</head>
<body leftmargin="0" topmargin="0" onload="init('tblGrid')">
<form action="PesquisaPolo" method="POST">
UF<select size="1" name="uf">
<option value="selecione">Selecione</option>
<option value="sp">SP</option>
<option value="rj">RJ</option>
</select>
<br /> <br />
Polo<input type="text" name="polo">
<br /> <br />
Exibir registros<select size="1" name="ExibeRegistro">
<option selected value="ativo">Ativo</option>
<option value="inativo">Inativo</option>
<option value="todos">Todos</option>
</select>
<br /> <br />
<input type="submit" value="Pesquisar" >
</form>
<br /> <br />
<table bordercolor="gray" border="1px" cellpadding="0" cellspacing="0"
id="tblGrid" name="tblGrid" style="position:relative" align="center">
<thead>
<%
PoloDAO dao = new PoloDAO();
List<Polo> listPolo = dao.getLista();
%>
<tr>
<td align="center" bgcolor="gray" width="100">UF</td>
<td align="center" bgcolor="gray" width="400">Polo</td>
<td align="center" bgcolor="gray" width="100">Status</td>
</tr>
</thead>
<tbody>
<%
for(Polo polo : listPolo ){
%>
<tr>
<td><%=polo.getUf() %></td>
<td><%=polo.getPolo() %></td>
<td><%=polo.getStatus() %></td>
</tr>
<%
}
%>
</tbody>
</table>
</body>
</html>
Ao clicar em “Pesquisar” na JSP acima, os dados do filtro de pesquisa vão para uma Servlet, que atribui os dados para a classe Polo (que contém os métodos getters e setters) e chama o objeto do meu DAO para realizar a pesquisa com filtro.
Segue minha Servlet e o método de pesquisa no meu DAO:
Servlet:
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.PoloDAO;
import jdbc.Polo;
public class PesquisaPolo extends HttpServlet {
protected void service (HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{
String uf = request.getParameter("uf");
String nome = request.getParameter("polo");
String exibeRegistro = request.getParameter("ExibeRegistro");
Polo polo = new Polo();
polo.setUf(uf);
polo.setPolo(nome);
polo.setStatus(exibeRegistro);
PoloDAO dao = new PoloDAO();
dao.getFiltro(polo);
RequestDispatcher rd = request.getRequestDispatcher("/TelaPesquisaPolo.jsp");
rd.forward(request,response);
}
}
Método na classe DAO
public List<Polo> getFiltro(Polo polo){
String exibeTodos = "select uf_polo, nome_polo, status from tab_polo where status =1;";
String sql = null;
try{
List<Polo> ListPolo = new ArrayList<Polo>();
// vou terminar o restante da condição (minhas opções de filtros)
if(polo.getUf().equals("selecione") && polo.getPolo().equals("")
&& polo.getStatus().equals("ativo")){
sql = exibeTodos;
}
PreparedStatement stmt = this.connection.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
while(rs.next()){
Polo ObjPolo = new Polo();
ObjPolo.setUf(rs.getString("uf_polo"));
ObjPolo.setPolo(rs.getString("nome_polo"));
ObjPolo.setStatus(rs.getString("status"));
ListPolo.add(ObjPolo);
}
rs.close();
stmt.close();
return ListPolo;
}catch(SQLException e){
throw new RuntimeException(e);
}
}
}
Agora, como eu poderia adicionar esse método na JSP, quando eu clico em “Pesquisar”.