1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Dúvida ao iterar um objeto para preencher a tag select.

Olá,

Estou com um problema ao preencher um combo com uma lista de objetos retornados do banco.. Até o meu JSP está certa a integração, porém ao não consigo iterar os objetos para preencher.

Servlet :

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package servlets;

import DAO.UsuarioDAOImp;
import DAO.AlunoDAOImp;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import model.Curso;

/**
 *
 * @author antun_000
 */
@WebServlet(name = "LoginServlet", urlPatterns = {"/LoginServlet"})
public class LoginServlet extends HttpServlet {

    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet LoginServlet</title>");            
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet LoginServlet at " + request.getContextPath() + "</h1>");
            out.println("</body>");
            out.println("</html>");
        } finally {            
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //processRequest(request, response);
        Boolean validaLogin;

        UsuarioDAOImp dao = null;
        try {
            dao = new UsuarioDAOImp();
            List  list;
            list = dao.validaLogin(request.getParameter("Login"),request.getParameter("Senha"));
            if(list.get(1).equals(request.getParameter("Senha")))            
            {
                HttpSession sessao = request.getSession(true);
                sessao.setAttribute("usuario_logado",list.get(0));                
                sessao.setAttribute("tipo_usuario",list.get(2));
                if(sessao.getAttribute("tipo_usuario").equals("1"))
                {

                                // vc preenche uma lista com as informações q vc precisa
                AlunoDAOImp aluno = new AlunoDAOImp();
                List<Curso> cursos =  aluno.GetCursos(sessao.getAttribute( "usuario_logado" ).toString());                

                // e add a lista a um atributo da página
                request.setAttribute("listaCursos", cursos);
                request.getRequestDispatcher("HomePage_Aluno.jsp").forward(request, response);
//                response.sendRedirect("HomePage_Aluno.jsp");
                } 
                else if(sessao.getAttribute("tipo_usuario").equals("3"))
                {                    
                response.sendRedirect("HomePage_Professor.jsp");
                }
            }
        } catch (Exception ex) {
            Logger.getLogger(LoginServlet.class.getName()).log(Level.SEVERE, null, ex);
        }

            }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}

JSP :

<%-- 
    Document   : HomePage_Aluno
    Created on : 19/09/2013, 20:05:37
    Author     : antun_000
--%>
<%@ page session="true" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<style>
    h1 {text-align:center}
</style>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Bem-Vindo(a) <%= session.getAttribute( "usuario_logado" ) %></h1>
        <table>
            <tr>
                <td>Selecione o curso para consulta :</td>
            </tr>
            <tr>
            <select name="cbAlunos">
              <c:forEach items="${listaCursos}" var="cursos">
                <option value="${listaCursos}"/>${listaCursos}</option>
              </c:forEach>
            </select>
            </tr>
        </table>
    </body>
</html>

Este código me retorna algo parecido com um json array, tudo o que eu preciso em uma linha só. Os objetos são derivados de uma model, na qual eles tem curso.model, porém não consigo chamar listaCursos.model, o jsp não me retorna nada neste caso. Alguma idéia?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags servlets jsp ou faça a sua própria pergunta.