rdpacato 2 Denunciar post Postado Dezembro 4, 2014 Pessoalm Tenho essa lista no servlet, e queria enviar por JSON, só que não faço ideia como: for (int i = 0; i < dadosVeiculo.size(); i++) { request.setAttribute("placa", dadosVeiculo.get(i).getPlaca()); /*dadosVeiculo.get(i).getMarca(); dadosVeiculo.get(i).getModelo(); dadosVeiculo.get(i).getAnoFabricacao(); dadosVeiculo.get(i).getAnoModelo(); dadosVeiculo.get(i).getRenavam(); dadosVeiculo.get(i).getCor();*/ } Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Dezembro 8, 2014 O mais comum é você fazer uma chamada ajax e devolver um json. Para devolver o json você pode usar a biblioteca da google Gson. String json = (new Gson).toJson(dadosVeiculo); Compartilhar este post Link para o post Compartilhar em outros sites
rdpacato 2 Denunciar post Postado Dezembro 8, 2014 Valeu Kandrade... Quando eu retornar para o JSP... como eu pegaria dado por dado? Por exemplo dadosVeiculo.placa... Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Dezembro 8, 2014 Em Java você teria que fazer o contrário do que fez no controller. Veja o método fromJson Porém o mais adequado seria tratar o json com jquery numa chamada ajax. Compartilhar este post Link para o post Compartilhar em outros sites
rdpacato 2 Denunciar post Postado Dezembro 9, 2014 Não ntendi... eu pensei em algo como: var obj = jQuery.parseJSON( '{ "placa":dadosVeiculo.placa}'); alert(obj.placa) Não faço ideia de como tratar isso.. é a primeira vez que trabalho com Json.. estou lendo alguns documentos ainda, mas tem muito material que não tem muito a ver com o que estou fazendo... Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Dezembro 9, 2014 Uma maneira é fazer uma chamada ajax como falei e tratar o retorno com jquery. Mais ou menos assim: $('#botaoAjax').on('click',function(){ $.ajax({ type:"post", url:"sua_url", data:{"idVeiculo",1}, success: function(data, textStatus, jqXHR){ alert(data); } }); }); Compartilhar este post Link para o post Compartilhar em outros sites
rdpacato 2 Denunciar post Postado Dezembro 10, 2014 Cara... Tentei setar assim: httpServletResponse.getWriter().write(dadosVeiculo); Mas pede para ser INT... tentei json: String json = gson.toJson(dadosVeiculo); e assim: String json = gson.toJson(dadosVeiculo.get(0).getPlaca()); ServletResponse httpServletResponse = null; httpServletResponse.getWriter().write(json); Realmente não estou entendendo a alma do negócio.. me desculpe a amolação Kandrade... mas ta difícil de entrar na cabeça Ambos os casos da nullponiter em httpServletResponse.getWriter().write(json) Compartilhar este post Link para o post Compartilhar em outros sites
rdpacato 2 Denunciar post Postado Dezembro 10, 2014 Consegui Assim: No Servlet passo a lista: response.getWriter().write(json); request.setAttribute("dadosVeiculo", dadosVeiculo); $(document).ready(function(){ $("select[name='veiculo']").change(function(){ var dataVeiculo = {"veiculo": $(this).val(),"loginUsuario":'${loginUsuario}'}; var placas = $("input[name='placas']"); if($(this).val()=="0"){ $( placa ).val(""); $( marca ).val(""); $( modelo ).val(""); $( anoFabricacao ).val(""); $( anoModelo ).val(""); $( renavam ).val(""); $( cor ).val(""); } else { $.ajax({ type : "POST", url: "ServletEditarDados", data: dataVeiculo, success: function(response) { $( placa ).val('Carregando...'); $.each(JSON.parse(response), function(idx, obj) { $( placa ).val(obj.placa), $( marca ).val(obj.placa), $( modelo ).val(obj.placa), $( anoFabricacao ).val(obj.placa), $( anoModelo ).val(obj.placa), $( renavam ).val(obj.placa), $( cor ).val(obj.placa) }); } }); } }); }); No inspecionar elemento tem esse erro: Uncaught TypeError: Cannot use 'in' operator to search for '50' in Mas não sei se isso prejudicará no futuro, pois no momento está funcionando... Valeu pela força Kandrade... abs Compartilhar este post Link para o post Compartilhar em outros sites