AutoComplete com Servlet

0 respostas
S

Olá Senhores, estou com uma dúvida:
Quero criar a partir de um resultset um Autocomplete, com Jquery, como fazer com que a Servlet possa usar um String Sql como parâmetro?
Abaixo a Servlet que quero Reaproveitar, obs: estou usando taglibs do Google(Gson)
Logo adiante o meu resultset que usa um nome para a pesquisa de um dado:

package example.servlet;

import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;

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

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String term = request.getParameter("term");

		String[] valueBase = { "ActionScript", "AppleScript", "Asp", "BASIC",
				"C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang",
				"Fortran", "Groovy", "Haskell", "Java", "JavaScript", "Lua",
				"Perl", "PHP", "Python", "Ruby", "Scala", "Scheme" };

		ArrayList<String> values = new ArrayList<String>();
		if (term != null) {
			for (String value : valueBase) {
				if (value.startsWith(term)) {
					values.add(value);
				}
			}
		}

		Gson gson = new Gson();
		String jSon = gson.toJson(values);
		System.out.println("term: " + term + " | json: " + jSon);
		response.getWriter().write(jSon);
		response.getWriter().flush();
	}

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
	}
}
public List<Empresa> pesquisaEmpresas(String nome) throws SQLException {

		List<Empresa> empresas = new ArrayList<Empresa>();

		ResultSet rs = getResultSet(nome);
		while (rs.next()) {
			Empresa empresa = new Empresa();
			empresa = new Empresa();

			empresa.setCod_empresa(rs.getLong("cod_empresa"));
			empresa.setNome(rs.getString("nome"));
			empresa.setTelefone(rs.getString("Telefone"));
			empresa.setEmail(rs.getString("Email"));
			empresa.setSite(rs.getString("Site"));
			empresa.setEndereco(rs.getString("Endereco"));
			empresa.setDescricao(rs.getString("descricao"));
			empresa.setPrioridade(rs.getLong("prioridade"));
			empresa.setLogo(rs.getString("logo"));

			empresas.add(empresa);
		}

		return empresas;
	}

	public ResultSet getResultSet(String nome) throws SQLException {

		String sql = "select * from empresa where nome like '%" + nome
				+ "%'order by prioridade";

		PreparedStatement stmt = this.connection.prepareStatement(sql);

		ResultSet rs = stmt.executeQuery();

		return rs;
	}

	public List<Empresa> listaDados(Long cod_empresa) throws SQLException {
		List<Empresa> empresas = new ArrayList<Empresa>();
		ResultSet rs = getResultSet(cod_empresa);
		while (rs.next()) {
			Empresa empresa = new Empresa();
			// empresa = new Empresa();

			empresa.setCod_empresa(rs.getLong("cod_empresa"));
			empresa.setNome(rs.getString("nome"));
			empresa.setTelefone(rs.getString("Telefone"));
			empresa.setEmail(rs.getString("Email"));
			empresa.setSite(rs.getString("Site"));
			empresa.setEndereco(rs.getString("Endereco"));
			empresa.setDescricao(rs.getString("descricao"));
			empresa.setPrioridade(rs.getLong("prioridade"));
			empresa.setLogo(rs.getString("logo"));
			empresas.add(empresa);
		}
		return empresas;
	}
Criado 21 de novembro de 2011
Respostas 0
Participantes 1