Olá pessoal!
Sou novo em java no geral, estou começando a estudar a apostila FJ-28, e quando chegou no autocomplete utilizando JQuery, ele não funciona, os outros plugins do JQuery funcionam normalmente!! Nos testes que eu fiz, eu sei que ele gera o JSon corretamente, mas não passa pelo controller e no FireBug ele não apresenta nenhum erro. Abaixo segue os códigos!!
Controller@Path("/clientes/busca.json")
@Get
public void buscaJson(String q) {
System.out.println(
result.use(json()).withoutRoot()
.from(cliDao.buscarClientes(q))
.exclude("id", "nascimento")
);
result.use(json()).withoutRoot()
.from(cliDao.buscarClientes(q))
.exclude("id", "nascimento")
.serialize();
}
$(document).ready(function(){
$("#procura").autocomplete('<c:url value="/Web/clientes/busca.json"></c:url>', {
dataType : "json",
parse: function(clientes){
return $.map(clientes, function(cliente){
return {
data : cliente,
value : cliente.nome,
result : cliente.nome
};
});
},
formatItem : function(cliente) {
return cliente.nome + " (" + cliente.cpf + ")";
}
});
$("#procura").puts("Busca pelo nome");
});
<form action="<c:url value='/cliente/busca'></c:url>" target="conteudo">
<input id="procura" name="nome" >
</form><br>
Edit**
Esqueci de colocar o valor de resposta do Json e a classe Cliente!!!
JSon Criado[{"nome": "testeUm","cpf": "[telefone removido]"},{"nome": "testeDois","cpf": "[telefone removido]"}]
public class Cliente {
@Id
@GeneratedValue
private Long id;
@Column(name="Nome", nullable=false, length=60)
private String nome;
@Column(nullable=false, length=11)
private String cpf;
@Column(nullable=false)
private Calendar nascimento;
Getters e Setters...
