Ola pessoal então estou com duvidas de como fazer uma busca simples utilizando Struts2
O caso é simples: tenho uma pagina de busca por nome, ao digitar o nome ele retorna uma lista com candidatos com nome iniciado pela String de busca.
O pessoal da Area de iniciantes ja me deram uma ajuda, e consegui fazer alguns avanços, porem agora acredito que o problema esteja na Action do Struts2 por isso venho aqui.
Meu tópico inicial esta aqui http://www.guj.com.br/java/271250-busca-simples-mysql#1422577
Vou passar os códigos aqui
public List<Candidato> listarPorNome(String nome) {
try {
List<Candidato> candidatos = new ArrayList<Candidato>();
PreparedStatement stmt = this.connection.prepareStatement("select * from candidatos where nom_can = ?");
stmt.setString(1, nome);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
candidatos.add(populaCandidatoPorNome(rs));
}
rs.close();
stmt.close();
return candidatos;
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
private Candidato populaCandidatoPorNome(ResultSet rs) throws SQLException {
Candidato candidato = new Candidato();
candidato.setNome(rs.getString("nom_can"));
candidato.setId(rs.getLong("id_can"));
return candidato;
}
public class ListarCandidatosPorNomeAction {
private List<Candidato> candidato;
private String nome;
@Action(value = "listaCandidatoPorNome", results={
@Result(name="ok", location="listar-candidato-por-nome.jsp")
})
public String execute() {
candidato = new CandidatoDAO().listarPorNome(nome);
return "ok";
}
public List<Candidato> getCandidato() {
return candidato;
}
public void setCandidato(List<Candidato> candidato) {
this.candidato = candidato;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
Grato por avanços!