E se eu quisesse usar o date no type ao invés de text, desta forma aqui:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:url value="/novaempresa" var="linkNovaEmpresa"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="${linkNovaEmpresa}" method="post">
Nome: <input type="text" name="nome"/>
Data: <input type="date" name="data"/>
<input type="submit"/>
</form>
</body>
</html>
O que eu precisaria mudar no código da Lista e do Servlet para funcionar:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>
<%@ page import="java.util.List, br.com.alura.gerenciador.servlet.modelo.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="ISO-8859-1">
<title>Java Standard Taglib</title>
</head>
<body>
<h1>Lista de empresas:</h1>
<br/>
<ul>
<c:forEach items="${empresas}" var="empresa">
<li>${empresa.nome} -- <fmt:formatDate value="${empresa.data}" pattern="dd/MM/yyyy"/></li>
</c:forEach>
</ul>
</body>
</html>
package br.com.alura.gerenciador.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
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;
import br.com.alura.gerenciador.servlet.modelo.Banco;
import br.com.alura.gerenciador.servlet.modelo.Empresa;
/**
* Servlet implementation class EmpresaServlet
*/
@WebServlet("/novaempresa")
public class EmpresaServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
String nomeEmpresa = request.getParameter("nome");
String dataEmpresaPatter = request.getParameter("data");
Date dataEmpresa = null;
try {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
dataEmpresa = sdf.parse(dataEmpresaPatter);
} catch (ParseException e) {
throw new ServletException(e);
}
Empresa empresa = new Empresa();
empresa.setNome(nomeEmpresa);
empresa.setData(dataEmpresa);
Banco banco = new Banco();
banco.adiciona(empresa);
//chama JSP
RequestDispatcher rd = request.getRequestDispatcher("/empresaenviada.jsp");
request.setAttribute("empresa", empresa.getNome());
rd.forward(request, response);
}
}
Obrigada :)