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:
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 {
}
}
Resultset que quero aproveitar para obter o AutoComplete.
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;
}