Boa tarde gente tenho esse codigo em que precisso receber um arrayList de dois campos idproduto e qtde. A ajuda que peço é como gerar esse arrayList no javaScript enviar o parametro e receber e imprimir esse arrayList no servlet. Nesse codigo abaixo escrito no javascript ele gera esse array normal sem erros tanto que consigo imprimilos no console do navegador
var sCEP = $("#inputCEP").val();
let listaProdutos = new Array();
listaProdutos.push({'idproduto':1, 'iqtde':23});
listaProdutos.push({'idproduto':2, 'iqtde':24});
listaProdutos.push({'idproduto':3, 'iqtde':25});
let iLenght = listaProdutos.length;
for (let i = 0; i < iLenght; i++) {
console.log("idproduto: " + listaProdutos[i].idproduto + " Quantidade: " + listaProdutos[i].iqtde);
}
//envio via jquery post atraves dessa funcao para o servlet
carregar('produtoVerCep',sCEP,listaProdutos);
//Aqui esta um resumo da funcao de onde envio o array listaProdutos que quero para o servlet produtoVerCep receber
function carregar(url,sCepDestino,listaProdutos){
var dados = {sCepDestino:sCepDestino,listaProdutos:listaProdutos};
$.ajax({
url:url,
method: 'POST',
data: dados,
dataType: 'json',
beforeSend: function(xhr) {
$('.spinner').css('display','flex'); /*exib bolinha giratoria*/
}
}).done(function(data) {}
Peço ajuda nessa parte para fazer o servlet receber o parametro listaProdutos em uma e converter para Um ArrayList do java de idproduto e iqtde e imprimir a lista por exemplo
com algo parecido com o codigo abaixo, mas sempre da erro nullpointer ao listar listProdutos
@WebServlet("/produtoVerCep") //obs caminho da pasta onde o ajax esta sendo disparado. esta em uma pagina na raiz WebContente do projeto
public class ProdutoVerCep extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ProdutoVerCep() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType( "text/html" );
String sCepDest = request.getParameter("sCepDestino");
//aqui nao consigo faze corretamente
String[] listProdutos = request.getParameterValues("listaProdutos[]");
//aqui tambem nao estou conseguindo pois a lista apesar de ser prenchida no javascript corretamente sempre da null pointer
//de todas as maneiras que tento imprimir no console do java
for (int i = 0; i < listProdutos.length; i++) {
System.out.println(" codigo do produto"+listProdutos[i].idproduto);
System.out.println(" quandidade"+listProdutos[i].iqtde);
}