Olá a todos! Não estou conseguindo enxergar onde está o erro. Está dando erro Na linha 18 no foreach e informa que a lista está vazia. Quando entra no navegador e digita o endereço http://localhost:8080/gerenciador/formularioNovaEmpresa.html, funciona normal. Quando preenho os dados ocorre o erro 500. A mensagem de erro está no final do tópico.
Segue os códigos:
código html --> formularioNovaEmpresa.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="/gerenciador/ListaEmpresasServlets" method="post">
Nome: <input type="text" name="nome"/>
CNPJ: <input type="text" name="cnpj"/>
<input type="submit" />
</form>
</body>
</html>
classe java --> ListaEmpresasServlets.java
package br.com.alura.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("/ListaEmpresasServlets")
public class ListaEmpresasServlets extends HttpServlet {
private static final long serialVersionUID = 1L;
public ListaEmpresasServlets() {
}
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Empresa empresa = new Empresa();
Banco banco = new Banco();
String nomeEmpresa = request.getParameter("nome");
String cnpj = request.getParameter("cnpj");
empresa.setNome(nomeEmpresa);
empresa.setCnpj(cnpj);
banco.adiciona(empresa);
List<Empresa> lista = banco.getEmpresas();
//Chamar o jsp
RequestDispatcher rd = request.getRequestDispatcher("/ListaEmpresa.jsp");
request.setAttribute("listaDasEmpresas", lista);
rd.forward(request, response);
}
}
*arquivo jsp --> ListaEmpresa.jsp *
OBS: Está dando erro nessa linha de comando --> for (Empresa empresa : lista) { O elipse diz que a lista está vazia.
<%@page import="br.com.alura.gerenciador.servlet.Empresa"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<ul>
<%
List<Empresa> lista = (List<Empresa>)request.getAttribute("listaDasEmpresas");
for (Empresa empresa : lista) {
%>
<li>Empresa: <%=empresa.getNome()%>. CNPJ: <%=empresa.getCnpj()%></li>
<%
}
%>
</ul>
</body>
</html>
classe java --> Banco.java
package br.com.alura.gerenciador.servlet;
import java.util.ArrayList;
import java.util.List;
public class Banco {
private static List<Empresa> listaEmpresas = new ArrayList<Empresa>();
public void adiciona(Empresa empresa) {
listaEmpresas.add(empresa);
}
public List<Empresa> getEmpresas(){
return Banco.listaEmpresas;
}
}