Bom dia…
Minha dúvida é a seguinte: Preciso usar um ArrayList pra guardar os dados dos passageiros inseridos, num sistema básico de venda de passagens…
Porém, como podemos ver no código abaixo, é óbvio que toda vez que eu der um submit na página, meu ArrayList vai “zerar”… Mas eu preciso guardar esse ArrayList de alguma maneira, para que eu possa obter os dados na hora de calcular o valor das passagens e o valor total à pagar…
Espero que alguém possa me ajudar…
Possíveis soluções (eu acho), seria usar algum Framework ou Servlet, mas sou iniciante e não entendo nada de ambos… E também porque meu professor pediu que fosse feito assim… em jsp puro… =/
Obrigado.
[code]<%
ArrayList passageiros = new ArrayList();
int qtdPassageiros = Integer.parseInt(session.getAttribute("qtdBebes").toString()) +
Integer.parseInt(session.getAttribute("qtdCriancas").toString()) +
Integer.parseInt(session.getAttribute("qtdAdultos").toString());
String sOut = "";
double total = 0;
session.setAttribute("passageiro", "1");
if(request.getParameter("operacao").equals("adicionar")) {
int passageiro = Integer.parseInt(request.getParameter("passageiroAtual")) + 1;
if(passageiro > qtdPassageiros+1) {
JOptionPane.showMessageDialog(null, "Número de Passageiros já excedeu o limite informado anteriormente!");
}
else {
session.setAttribute("passageiro", passageiro);
ModelPassageiro p = new ModelPassageiro();
p.setTipo(request.getParameter(request.getParameter("cbTipo")));
p.setNome(request.getParameter("nome"));
p.setCpf(request.getParameter("cpf"));
p.setDtNasc(new Date(request.getParameter("dtNasc")));
p.setEmail(request.getParameter("email"));
p.setTelefone(request.getParameter("telefone"));
passageiros.add(p);
}
}
else if("calcular".equals(request.getParameter("operacao"))) {
for(int i=0; i<passageiros.size(); i++) {
Passagem p = new Passagem(Double.parseDouble(session.getAttribute("vrPassIda").toString()), passageiros.get(i));
double vlr = p.calcularPassagem(Double.parseDouble(session.getAttribute("TxEmbarque").toString()));
total = total + vlr;
sOut = sOut + passageiros.get(i).getNome() + " - R$ " + vlr + "\n";
}
if(!session.getAttribute("cbVooVolta").equals("-1")) {
for(int i=0; i<passageiros.size(); i++) {
Passagem p = new Passagem(Double.parseDouble(session.getAttribute("vrPassVolta").toString()), passageiros.get(i));
double vlr = p.calcularPassagem(Double.parseDouble(session.getAttribute("TxEmbarqueVolta").toString()));
total = total + vlr;
sOut = sOut + passageiros.get(i).getNome() + " - R$ " + vlr + "\n";
}
}
sOut = sOut + "\nTOTAL À PAGAR: R$ " + total;
JOptionPane.showMessageDialog(null, sOut);
session.setAttribute("strCalculo",sOut);
session.setAttribute("vrTotal", total);
}
%>[/code]