[RESOLVIDO] Enviar linha do extjs para controller com json

2 respostas
J

Pessoal,

Venho mais um vez pedir ajuda de vocês aqui.

Tenho uma tela de vendas, onde preciso salvar os itens de venda que são as linhas de uma GRID do extjs.
O próprio extjs, já entrega um json no formato abaixo:

[{"vendaDetalhe.produto.id":3,"vendaDetalhe.quantidade":1,"vendaDetalhe.valorUnitario":10,"vendaDetalhe.taxaDesconto":0,"vendaDetalhe.valorSubTotal":10},{"vendaDetalhe.produto.id":1,"vendaDetalhe.quantidade":1,"vendaDetalhe.valorUnitario":433.33,"vendaDetalhe.taxaDesconto":0,"vendaDetalhe.valorSubTotal":433.33}]

Meu controller:

public void save(List<VendaDetalhe> vendaDetalhe) {
// to do...
}

Como faço para um controller do vraptor pegar uma List da classe VendaDetalhe?

Desde já obrigado!!

2 Respostas

Lucas_Cavalcanti

esse json vai como corpo da requisição ou como form parameters?

J

Lucas,

Agradeço a ajuda, conversei com você em outro tópico algo parecido, que usei agora e funcionou.

Enviei o Json como string e fiz a conversão para os objetos no controller.

Ficou assim:

public void save(String dadosGrid) {	

    Object obj = JSONValue.parse(dadosGrid);
    JSONArray array=(JSONArray)obj;

    for (int i = 0; i < array.size(); i++) {
        vendaDetalhe = new VendaDetalhe();
        JSONObject linhas = (JSONObject) array.get(i);
    
        BigDecimal quantidade = new BigDecimal(linhas.get("vendaDetalhe.quantidade").toString());
        ...
    }

}

Obrigado!

Criado 16 de abril de 2013
Ultima resposta 17 de abr. de 2013
Respostas 2
Participantes 2