5
respostas

erro 500 no listaEmpresas

Bom dia galera, estava fazendo as alterações para JSTL e aconteceu um erro 500 no meu listaEmpresas.jsp segue o códico do Servlet:

package br.com.gerenciador.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/listaEmpresas")
public class ListaEmpresasServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;


    public ListaEmpresasServlet() {

    }


    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Banco banco = new Banco();    
        List<Empresa> lista = banco.getEmpresas();
        request.setAttribute("empresas", lista);

        RequestDispatcher rd = request.getRequestDispatcher("/listaEmpresas.jsp");
        rd.forward(request, response);



    }

}

e segue o codico do jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.List, br.com.gerenciador.servlet.Empresa" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>    

<!DOCTYPE html>
<html>

    <head>
    <meta charset="UTF-8">
    <title>Java Standard Taglib</title>
    </head>

    <body>
    <br>Lista de empresas cadastradas:
        <ul> 

            <c:forEach items="empresas" var="empresa">
                <li>${empresa.nome} ${empresa.dataAbertura}</li>
            </c:forEach>


        </ul>

    </body>

</html>
5 respostas

Bom dia Kaique altere seu for para:

<c:forEach items="${empresas}" var="empresa">

Agora consegui acessar a pagina, mas a lista não aparece. classe banco:

package br.com.gerenciador.servlet;

import java.util.ArrayList;
import java.util.List;

public class Banco {
    private static List<Empresa> lista = new ArrayList<>();

      static {
            Empresa empresa = new Empresa();
            empresa.setNome("Alura");
            Empresa empresa2 = new Empresa();
            empresa2.setNome("Caelum");
            lista.add(empresa);
            lista.add(empresa2);
        }

    public void setEmpresa(Empresa empresa) {
        lista.add(empresa);
        System.out.println("Empresa cadastrada no banco");
    }
    public List<Empresa> getEmpresas(){
        return Banco.lista;
    }
}

classe empresa

package br.com.gerenciador.servlet;

import java.util.Date;

public class Empresa {
    private Integer id;
    private String nome;
    private Date dataAbertura= new Date();


    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
    public Date getDataAbertura() {
        return dataAbertura;
    }

    public void setDataAbertura(Date dataAbertura) {
        this.dataAbertura = dataAbertura;
    }
}

servlet listaEmpresa

package br.com.gerenciador.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/listaEmpresas")
public class ListaEmpresasServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;


    public ListaEmpresasServlet() {

    }


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Banco banco = new Banco();    
        List<Empresa> lista = banco.getEmpresas();
        request.setAttribute("empresas", lista);

        RequestDispatcher rd = request.getRequestDispatcher("/listaEmpresas.jsp");

        rd.forward(request, response);



    }

}

Tem dados no seu banco?

só os que são carregados estaticamente na criação do banco (na lista deveria aparecer caellun e alura, e mesmo indo no form primeiro não mostra nada)

Depois dessa linha:

List<Empresa> lista = banco.getEmpresas();

Adiciona um :

System.out.println(lista.size())

E vê se está 0 ou tem valores