Galera estou tentando fazer um autocomplete com o jquery ui autocomplete, acontece a busca no banco, o vraptor serealiza o objeto pra mim, mais não aparece nada na lista dos dados que ele buscou, simplemente não faz nada com os dados buscados.
Alguem sabe o que pode ser? eu não sei se tem alguma coisa a ver de como o vraptor serealiza o objeto, como {“list”: […]}, será que é por causa do list?
Esse problema de serializar uma lista já foi corrigido no 3.1.
O ideal é você imprimir o resultado que o vraptor imprime no JSON, assim você pode ver se está imprimindo o resultado correto.
estou usando a versão 3.1, mais ainda esta com list.
Estranho é que se eu serializo somente um objeto, o objeto json sai todo estranho.
Código que gera o json.
@Get
@Path("/tipocheckpoint.autocomplete/{tipoCheckpoint.codigo}")
public void autocomplete(TipoCheckpoint tipoCheckpoint){
TipoCheckpoint tipo = service.obter(tipoCheckpoint);
if(tipo != null && tipo.getCodigo() > 0){
System.out.println(tipo.getDescricao());
result.use(Results.json()).from(tipo).exclude("checkpoints").serialize();
}
}
objeto json:
[quote]{“tipoCheckpoint_$$_javassist_8”: {
"@resolves-to": “tipoCheckpoint”,
“codigo”: 1,
“descricao”: “DESCRITIVA”,
“checkpoints”: [
false,
{
"@class": “tipoCheckpoint”[/quote]
Fala davisnog.
Obteve algum sucesso?
Estou tendo o mesmo problema.
[code]
[/code]
@Get
@Path("/produto/busca.json")
public void buscaJson(String q) {
result.use(json()).from(dao.buscar(q)).exclude("id", "descricao").serialize();
}
Se eu acessar a url (http://localhost:8080/goodbuy/produto/busca.json?nome=a) diretamente (alterando o parâmetro que está chegando NULL), ele retorna o objeto:
{"list": [
{
"nome": "Memoria Kingston",
"preco": 240.0
},
{
"nome": "Copo Plastico",
"preco": 10.0
},
{
"nome": "Cadeira",
"preco": 45.0
}
]}
Abcs
Luis Fernandez
O plugin pro jquery tem duas versões pelo que eu pude perceber, tem essa versão [http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/], e tem essa que esta em desenvolvimento ainda, que esta inclusa no pacote JQuery UI 1.8, o link é esse [http://blog.jqueryui.com/2009/08/jquery-ui-18a1/].
No primeiro link o autocomplete passa como parametro q=o_que_vc_esta_procurando, já o do segundo link ele passa term=o_que_vc_esta_procurando.
Então ele não vai mandar nome=a, como no seu exemplo.
Então você deve ter um parâmetro do tipo String conforme a versão que você esta utilizando, String q ou String term, dessa forma você vai conseguir pegar o valor do parâmetro.
E a questão de excluir as propriedades que você não quer, é um bug que esta para ser corrigido na proxima versão. No link abaixo você pode ver melhor essa discusão.
[http://www.guj.com.br/posts/list/196699.java#986122]
O meu problema era o seguinte:
Tava faltando identificar o campo que estava sendo referenciado pelo json: linha 3 (id=“busca”)
[code]
[/code]