1
resposta

Página em Branco

Meu código não imprime a listagem de empresa, não estou conseguindo ver onde está errado, alguém pode ajudar?

'' listaEmpresas.jsp ''

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.List, br.com.ayres.gerenciador.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>
<title>Empresas</title>
</head>
<body>
    Lista de Empresas: <br/>
    <ul>
        <c:forEach items="${empresas}" var="empresa">         
            <li>${empresa.nomeEmpresa} -  <fmt:formatDate value="${empresa.abertura}" pattern="dd/MM/yyyy"/></li>        
        </c:forEach>
    </ul>    
</body>
</html>

'' listaEmpresaServlet ''

@WebServlet("/lista-empresas")
public class ListaEmpresaServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;


    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("/listaEmpresa.jsp");
        rd.forward(request, response);

    }
}

''Empresa''

public class Empresa {


    private int id;
    private String nomeEmpresa; 
    private Date abertura = new Date();

    public Date getAbertura() {
        return abertura;
    }

    public void setAbertura(Date abertura) {
        this.abertura = abertura;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNomeEmpresa() {
        return nomeEmpresa;
    }

    public void setNomeEmpresa(String nomeEmpresa) {
        this.nomeEmpresa = nomeEmpresa;
    }    

}

'' Banco''

public class Banco {

    private static List<Empresa> listaEmpresa = new ArrayList<>();

    static {
        Empresa empresa = new Empresa();
        empresa.setNomeEmpresa("Multi");    

        Empresa empresa2 = new Empresa();
        empresa2.setNomeEmpresa("Caelum");    
    }    

    public void adiciona(Empresa empresa) {
        Banco.listaEmpresa.add(empresa);
    }

    public List<Empresa> getEmpresas(){
        return Banco.listaEmpresa;
    }
}
1 resposta

Olá João, tudo bem com você?

Não sei se você conseguiu resolver seu erro, mas caso ainda não tenha conseguido o problema foi que no bloco estático você esqueceu de adicionar as empresas que você criou

Seria necessário adicionar a seguinte parte na classe Banco

    static {
        Empresa empresa = new Empresa();
        empresa.setNomeEmpresa("Multi");

        Empresa empresa2 = new Empresa();
        empresa2.setNomeEmpresa("Caelum");

        Banco.listaEmpresa.add(empresa);
        Banco.listaEmpresa.add(empresa2);
    }

Dessa forma ao carregar a página já temos 2 empresas de fato cadastrado em nosso "banco de dados" :)

Abraços e Bons Estudos!