Filtro + JSP + table + DB

2 respostas
zicky23

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

2 Respostas

Hebert_Coelho

Sim, você procura por autocomplete.

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

O primefaces também tem. [=

zicky23

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?

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);
        }
    }
}
Criado 6 de dezembro de 2011
Ultima resposta 7 de dez. de 2011
Respostas 2
Participantes 2