vRaptor 3 + ajax [RESOLVIDO]

3 respostas
tucano

Olá pessoal,

tenho uma dúvida referente a implementação de ajax com o vraptor…

preciso de um ajax que retorne
{“rowsGrid”:[{“id”: 1,“nome”: “teste”,“descricao”: “teste teste”}],“pageGrid”:“1”,“totalPagesGrid”:“1”,“recordsGrid”:“1”}

tentei com esse código,

result.use(Results.json()).from(pagina.getPageGrid(),"pageGrid").serialize(); result.use(Results.json()).from(pagina.getRecordsGrid(),"recordsGrid").serialize(); result.use(Results.json()).from(pagina.getRowsGrid(),"rowsGrid").serialize(); result.use(Results.json()).from(pagina.getTotalPagesGrid(),"totalPagesGrid").serialize();
mas o retorno não foi o esperado
retornou
{“pageGrid”: “1”}{“recordsGrid”: “1”}{“rowsGrid”: [{“id”: 1,“nome”: “teste”,“descricao”: “teste teste”}]}{“totalPagesGrid”: “1”}

se eu colocar direto

o retorno sai
{“NOME_DA_CLASSE”: {“pageGrid”: “1”,“totalPagesGrid”: “1”,“recordsGrid”: “6”}}

acredito que estou pecando em algum detalhe para a montagem desse json,
alguém consegue me auxiliar?

3 Respostas

Rafael_Guerreiro

Tenta usar o recursive:

result.use(Results.json()).from(pagina).recursive().serialize();

Ele vai fazer o JSON de todos os atributos que voce tiver dentro dessa classe…
Se voce quiser tirar alguns, use o .exlude(“atributo1”, “atributo2”)…

Lucas_Cavalcanti

você pode usar também o withoutRoot:

[code]
result.use(Results.json()).withoutRoot().from(pagina).recursive().serialize();
[code]

tucano

opa!
blz galera!

questão resolvida!
:wink:

era a falta da recursividade mesmo,
o withoutRoot montou da forma como precisava mesmo

valeu aew rafael e lucas pela atenção prestada!
Até mais!
:wink:

Criado 2 de julho de 2012
Ultima resposta 2 de jul. de 2012
Respostas 3
Participantes 3