Eu uso o inspecionar elemento do Chrome e fica vazio o valor do '${placa}', de ambos os jeitos.. mas no servet com system.out.println() o valor ta la...
alexfe
Vc tem que passar o valor da tela para dentro do javascript, não pode simplesmente escrever a variavel no javascript.
P
Pacato
vc tem alguma dica? para tratar isso?
alexfe
primeiro passo é passar seu dados corretamente para o java script atraves de uma function ?? vc sabe javascript ?
P
Pacato
sim.. mais ou menos... eu estava treinando ajax (ainda estou)... a comunicação de enviar ta blz.. mas de retorno ainda ta zuada...
Tentei passar a lista para Json com a lib GSON (String json = (new Gson).toJson(dadosVeiculo);) mas não sei depois como separar por item.. tipo:
dadosVeiculo.placa
E nem retornar para a function
alexfe
A resposta para o ajax é assim
no caso ela virá como retorno dentro da variavel “response” do seu ajax
No caso de vc transformar JSON para objeto vc tem que ter um objeto para a API fazer a conversão de JSON para Objeto, a estrutura do objeto deve ser compativel com o json
Realmente não estou entendendo a alma do negócio… me desculpe a amolação alexafe… mas ta difícil de entrar na cabeça
Ambos os casos da nullponiter em
httpServletResponse.getWriter().write(json)
alexfe
Os seu dados chegam na servlet ??? corretamente ?
vc não pode setar o objeto para null
o seu httpServletResponse tem que ser o que vem da servlet do seu request, vc tem que trabalhar com a servlet, vc conhecer de servlet ??
P
Pacato
no servlet ta beleza…
Eu seto os valores e eles estão lá… se eu deixar no setAttribute, e pegar na jsp ele está lá…
Mas não estou conseguindo neste processo de pegar na function para setar o campo…
alexfe
posta sua servlet ai
P
Pacato
Segue:
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringveiculo=request.getParameter("veiculo");Stringdispositivo=request.getParameter("dispositivo");PgpmDAOdao=newPgpmDAO();HttpSessionsession=request.getSession();Stringlogin=(String)session.getAttribute("loginUsuario");if(!("0".equals(veiculo)||veiculo==null)){List<ListaVeiculo>dadosVeiculo=newArrayList<ListaVeiculo>();dadosVeiculo=dao.consultaDadosVeiculo(veiculo,login);Gsongson=newGson();Stringjson=gson.toJson(dadosVeiculo);if(dadosVeiculo!=null){for(inti=0;i<dadosVeiculo.size();i++){request.setAttribute("placas",dadosVeiculo.get(i).getPlaca().toString());/*dadosVeiculo.get(i).getMarca(); dadosVeiculo.get(i).getModelo(); dadosVeiculo.get(i).getAnoFabricacao(); dadosVeiculo.get(i).getAnoModelo(); dadosVeiculo.get(i).getRenavam(); dadosVeiculo.get(i).getCor();*/}request.setAttribute("dadosVeiculo",dadosVeiculo);}else{msgRetornoDados="Nenhum registro do veículo";request.setAttribute("msgRetornoDados",msgRetornoDados);request.getRequestDispatcher("editarDados.jsp").forward(request,response);}}else{msgRetornoDados="Selecione um Chassi Válido";request.setAttribute("msgRetornoDados",msgRetornoDados);request.getRequestDispatcher("editarDados.jsp").forward(request,response);}}
alexfe
Vou te atendar a alguns detalhes
Não visualizei o dispositivo sendo enviado por ajax para ser pego na servlet
Outra coisa por exemplo essa linha
request.setAttribute apenas será entendido pelo jsp e não pelo ajax.
e o mais importante por exemplo nesta linha
vc está fazendo o redirecionamento, se vc está esperando o retorno em ajax vc não pode redirecionar senão a resposta é perdida.
após toda essas correções a sua resposta seria assim atraves do response da sua servlet
e a resposta viria na variavel response do seu ajax se não houver nenhuma erro porque vc está esperando a resposta apenas se obter sucess no ajax
P
Pacato
O Dispositivo ainda será algo que irei fazer após eu conseguir por chassi, mas por enquanto eu só criei a variável...
O msgRetorno é algo que já tem la´sem ser por ajax, mas para enviar uma mensagem de erro na condição de javascript:
var objeto = JSON.parse(response);
$( placa ).val(objeto.placa);
P
Pacato
Não vai… .tinha tentado assim…
alert(response);
var objeto = JSON.parse(response);
$( placas ).val(objeto.placa);
o valor está como undefined
alexfe
É por causa das chaves [ e ] , tenta fazer o parse mas antes retirar as chaves [ e ] e se der certo quando tem as chaves tem que ser feito de outra forma porque dai é uma lista de json neste link tem o exemplo