vRaptor + Vetor de Json

11 respostas
Fmgasparino

Pessoal, estou trabalhando com o vRaptor e Json, mas ainda não mexi com vetores.
Agora preciso criar uma div para cada item retornado no Json. Posso utilizar for eacj ou usar o devo usar o for do proprio javascript.

Depois das listas encontradas, para criar na minha div de tratamentos, preciso criar para cada item uma div. Para isso, usando jQuery existe algum plugin para isso?

Valeu!

11 Respostas

davidbuzatto

Usar for ou for each é questão de gosto. Não tem um certo e um errado.
Com for each fica mais “bonito”, mas p/ quem está acostumado com o arroz com feijão da linguagem, pode ficar difícil de entender.
Pq vc precisa de um plugin para isso?

Fmgasparino

davidbuzatto:
Usar for ou for each é questão de gosto. Não tem um certo e um errado.
Com for each fica mais “bonito”, mas p/ quem está acostumado com o arroz com feijão da linguagem, pode ficar difícil de entender.
Pq vc precisa de um plugin para isso?

Entendi, pensei que por estar dentro do tivesse algum problema.

E quanto ao plug-in, como posso criar uma div dentro de outra em tempo real ?

davidbuzatto

Vc falou que está usando jQuery não é?
Segue o exemplo:

var divs = "<div>bla bla bla</div>";

// faz um append no conteúdo da div desejada
$( "#idDaDivPrincipal" ).append( conteudo );

// substitui todo o conteúdo da div selecionada, inserindo o valor da varíavel
$( "#idDaDivPrincipal" ).html( divs );

[]´s

Fmgasparino
davidbuzatto:
Vc falou que está usando jQuery não é? Segue o exemplo:
var divs = "<div>bla bla bla</div>";

// faz um append no conteúdo da div desejada
$( "#idDaDivPrincipal" ).append( conteudo );

// substitui todo o conteúdo da div selecionada, inserindo o valor da varíavel
$( "#idDaDivPrincipal" ).html( divs );

[]´s

Entendi davidbuzatto.

Consegui criar os serviços que eu gostaria.
O que me traz varios objetos a serem salvos.

Exemplo
<div id=mae>
<div id=filho1></div>
<div id=filho2></div>
</div>

Sendo a mae uma classe relacionada com filho, @ManyToOne, não pensei em como chegara pra o vRaptor.

VAleu!

Lucas_Cavalcanti

vc quer criar um pedaço da página baseado em um json retornado pelo vraptor?

Fmgasparino

Na verdade, o que estou fazendo é uma pagina separada em 4 partes.

Primeira parte, é uma lista de objetos retornados do banco que ao selecionar, irá trazer na outra parte, a lista de itens relacionados.
Ao selecionar os itens da segunda parte irá via JSon, atualizar alguns campos da terceira parte. Na quarta parte, devo criar uma div para cada iten relacionado com o item da terceira parte e permitir que seja criado infinitos itens, permitindo salva-los.

Primeira parte => Retorno uma lista pelo vRaptor + Dao.
Segunda Parte => Crio uma div para cada item encontrado no jSon com o id selecionado na segunda parte.
Terceira Parte => retorno objeto procurado por Json e os atualizo.
Quarta Parte(div’s) => Não implementado, procurando soluções.

Conseguiram entender?

VAleu!

Lucas_Cavalcanti

bom, pra eu te indicar um plugin eu precisaria saber mais sobre como vc tá desenvolvendo o layout…

de qqer forma, vc pode usar o bom e velho

$.getJSON('url', function(json) {
    var div = $('<div ...>')
           .append(json.algumaCoisa)
          .append(json.outraCoisa)
    div.appendTo($('#segundaParte'));
});

ou procurar um plugin mais específicos
http://plugins.jquery.com/

Fmgasparino

Lucas Cavalcanti:
bom, pra eu te indicar um plugin eu precisaria saber mais sobre como vc tá desenvolvendo o layout…

de qqer forma, vc pode usar o bom e velho

$.getJSON('url', function(json) {
    var div = $('<div ...>')
           .append(json.algumaCoisa)
          .append(json.outraCoisa)
    div.appendTo($('#segundaParte'));
});

ou procurar um plugin mais específicos
http://plugins.jquery.com/

Ok, irei utilizar o Append para isso.

Mas o maior problema lucas, é como farei para salvar no banco todos os objetos filhos.

Irei receber uma lista de objetos e salvar um a um no meu controller ?

Hoje, faço desta forma para todas telas de cadastro.

Json altera os campos, então quando o usuario clica em salvar no controler vai SaveOrUpdate. Se existir ele atualiza, se não ele cria outro registro. Isso vale pois tenho as validações na tela dos campos obrigatórios.

Abs

Lucas_Cavalcanti

então vc não vai usar json pra receber objetos, vc vai usar pra enviar, é isso?

o que vc chama de JSON vem de onde?

Fmgasparino

Lucas Cavalcanti:
então vc não vai usar json pra receber objetos, vc vai usar pra enviar, é isso?

o que vc chama de JSON vem de onde?

Sim, vou usar Json para receber. Vou ter que iterar na lista de objetos e criar as divd. Essa parte, mesmo não implementada, ja tenho ideia de como fazer.

Agora, para salvar, eu consigo mandar via get uma lista de objetos? Aquela que recebi pelo JSON ? Pois preciso fazer o Update ou até mesmo criar outro objeto .

Lucas_Cavalcanti

vc quer fazer o update por ajax também?

o ideal é fazer um post com os objetos…

o jeito mais fácil seria criar inputs com a convenção de nomes do VRaptor pra gerar os objetos no controller, da mesma forma que se não fosse ajax, e então usar um plugin como o AjaxForm pra submeter via ajax:
http://jquery.malsup.com/form/

Criado 14 de outubro de 2010
Ultima resposta 15 de out. de 2010
Respostas 11
Participantes 3