Versão atual:

Consulta banco de dados

Boa tarde galera, o problema é como receber essa consulta de array list, pois faço a consulta no formulário e tem que mostrar em uma tabela, não esta pegando os dados, se alguém souber me ajudar.

 public ArrayList<Passagem> listaPassagens() {
      ArrayList<Passagem> listaPassagens = new ArrayList<Passagem>();
        try {
            Passagem p = new Passagem();
            Connection conexao = getConexao();
            PreparedStatement pstm = conexao.prepareStatement(
                "Select * from passagem where " +
                "origem = ? " +
                "OR destino = ? " +
                "OR data = ?");

            pstm.setString(1, p.getOrigem());
            pstm.setString(2, p.getDestino());
            pstm.setString(3, p.getData());

            ResultSet rs = pstm.executeQuery();



            while (rs.next()) {
                p.setIdpassagem(rs.getInt("idpassagem"));
                p.setOrigem(rs.getString("origem"));
                p.setDestino(rs.getString("destino"));
                p.setData(rs.getString("data")); 
                p.setPartida(rs.getString("partida"));
                p.setChegada(rs.getString("chegada"));
                p.setValor(rs.getInt("valor"));
                p.setIdonibus(rs.getInt("idonibus"));                   

                listaPassagens.add(p);
            }

            pstm.close();
            conexao.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return listaPassagens;
    }

Formulario:

 <form action="passagem.jsp" method="post">  
            Cidade Origem:
            <input type="text" name="origem">
            <br>
            <br>
            Cidade Destino:
            <input type="text" name="destino">
            <br>
            <br>
            Data:
            <input type="text" id="datepicker" name="data" > 
            <br>
            <br>
            <input type="submit" value="busca"/>
        </form>

Do formulário, manda para essa pagina para receber os dados:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form method="post" action="AdicionarCarrinho.jsp"> 
        <table border="1">
            <th>Selecione Passagem</th>
            <th>Cidade Origem</th>
            <th>Cidade Destino</th>
            <th>Data</th>
            <th>Partida</th>
            <th>Chegada</th>
            <th>Preço(R$)</th>
            <th>Id Onibus</th>
            <th>Quantidade</th>
            <%
             PassagemDAO pdao = new PassagemDAO();

             if(request.getParameter("origem") != null && request.getParameter("destino") != null 
                     && request.getParameter("data") != null){


                List<Passagem> todos = pdao.listaPassagens();
                for (int i = 0; i < todos.size(); i++) {
                Passagem p = todos.get(i);

                p.setOrigem(request.getParameter("origem"));  

                p.setDestino(request.getParameter("destino"));

                p.setData(request.getParameter("data"));


              System.out.println(todos.size());           

            %>                       <tr>
                    <td align="center">  <input type="checkbox" name="comprar_ <%= p.getIdpassagem() %>" value="Sim"> </td>
                    <td> <%= p.getOrigem() %> </td>
                    <td> <%= p.getDestino() %> </td>
                    <td> <%= p.getData() %>" </td>
                    <td> <%= p.getPartida() %> </td>
                    <td> <%= p.getChegada() %> </td>                  
                    <td> <%= p.getValor() %></td>
                    <td> <%= p.getIdonibus() %> </td>
                    <td align="center">  <input type="text" name="quantidade_<%= p.getIdpassagem() %>" size="1" maxlength="3" value="1"> </td>

                </tr>
            <%  
                }
            %>
            <p> <input type="submit" value="Adicionar ao Carrinho" name="Submit">
                <input type="reset" name="Limpar" value="Limpar"> </p> 
        </table>
        </form>
    </body>
</html>

No caso eu precissava mostra todos os dados na consulta, em uma tabela, que uso para adicionar no carrinho de compras, tentei faze um for, mais ele não trazia nenhum dado.

Versões(7):

Ver a versão formatada

Função de consulta banco de dados

Comentário

new question