Filtro + JSP + table + DB

boa noite

gostaria de fazer um filtro que quando digito em uma input ele vai fazendo o filtro. Em uma aplicação desktop é possivel, mas e em JSP?

obrigado

Sim, você procura por autocomplete.

JQuery sei que tem uma função assim, você pode dar uma olhada.

O primefaces também tem. [=

pessoal dêem uma olhada nesse cód…

será que tem como fazer para deixar a pesquisa dinâmica, tipo ao digitar ela ir filtrando?

[code]package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
*

  • @author Wagner Vielmond
    */
    public class pesquisaContrib extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    int cont = 0;
    String pc;
    try {

         if(request.getParameter("pesqcontrib") == null){
             pc = "";
         }else{
             pc = "WHERE UPPER(NOME_CONTRIBUINTE) LIKE '"+request.getParameter("pesqcontrib").toUpperCase()+"%'";
         }
    
         //pega a conexao e o statement
         Connection con = new ConnectionFactory().getConnection();
         PreparedStatement stmt = con.prepareStatement("SELECT * FROM CONTRIBUINTE "+pc);
    
         //executa um sql
         ResultSet rs = stmt.executeQuery();
    
         List<Contrib>  contr = new ArrayList<Contrib>();
    
         while(rs.next()){
             Contrib contrib = new Contrib();
             contrib.setNome(rs.getString("NOME_CONTRIBUINTE"));
             contrib.setFone(rs.getString("FONE"));
             contrib.setNumero(rs.getInt("NUMERO"));
    
             //add o objeto à lista
             contr.add(contrib);
         }
    
         rs.close();
         stmt.close();
    
         PrintWriter out = response.getWriter();
    
         //escreve o texto de teste
         out.println("<html>");
         out.println("<head><title>Sistema Ges-Obras WEB</title><style type=text/css>@import url(css/estilo.css);");
         out.println("td div {width:100%;height:300px;overflow:auto;} .t3{width:100%} .t3 .tr1 td{background-color:wheat;font-family:arial black} </style></head>");
         out.println("<body onLoad='document.forms[0].pesqcontrib.focus()'>");
         out.println("<div class='center' align=center>");
         out.print("<table class=table2 align=center>");
         out.print("<tr>");
         out.print("<td align=right>");
         out.print("<input type=button onclick=home() value='HOME' class=btn tabindex=1 /> ");
         out.print("<input type=button onclick=cadContrib() value='CADASTRAR CONTRIBUINTE' class=btn tabindex=2 /> ");
         out.print("<input type=button value='SOLICITAÇÕES' onclick=pesqContrib() class=btn tabindex=2 />");
         out.print("</td>");
         out.print("</tr>");
         out.print("</table>");
         out.println("<table class=table><form action='pesquisaContrib'><tr><td class=topotab>Bem-vindo ao GES OBRAS WEB - Pesquisar: <input onclick='Submit()' type=text name='pesqcontrib'><input type='submit' value='Buscar'></td></tr></form>");//ao digitar aqui qro que vá fazendo o filtro
         out.println("<tr><td><div><table class=t3>");
         out.println("<tr class=tr1><td>NOME</td><td>FONE</td><td>Nº</td></tr>");
         int i = 0;
         for (Contrib contrib : contr){
             out.println("<tr>");
             out.println("<td class="+((i%2==0) ? "linhaImpar" : "linhaPar")+">");
             out.println(contrib.getNome()+"</td>");
             out.println("<td class="+((i%2==0) ? "linhaImpar" : "linhaPar")+">");
             out.println(contrib.getFone()+"</td>");
             out.println("<td class="+((i%2==0) ? "linhaImpar" : "linhaPar")+">");
             out.println(contrib.getNumero()+"</td></tr>");
             i = i + 1;
         }
         out.println("</table></div></td></tr>");
         out.println("</table>");
         out.println("</div>");
         out.println("<div class=footer>");
         out.println("Todos os direitos reservados à Prefeitura Municipal de Santiago - Cidade Educadora<br />&copy; 2011 PM Santiago-RS :: developed by vielmond.net");
         out.println("</div>");
         out.println("</body>");
         out.println("</html>");
         out.println("<script type=text/javascript>");
         out.println("function home(){");
         out.println("document.location.href='/gesweb/home';");
         out.println("}");
         out.println("function cadContrib(){");
         out.println("document.location.href='/gesweb/newcontrib.html';");
         out.println("}");
         out.println("function pesqContrib(){");
         out.println("document.location.href='/gesweb/pesquisaContrib';");
         out.println("}");
         out.println("</script>");
    
     } catch (SQLException ex) {
         Logger.getLogger(pesquisaContrib.class.getName()).log(Level.SEVERE, null, ex);
     } catch (ClassNotFoundException ex) {
         Logger.getLogger(pesquisaContrib.class.getName()).log(Level.SEVERE, null, ex);
     }
    

    }
    }
    [/code]