1
resposta

Problema Durante a Alteração da Empresa Servlets

Olá Bom dia,

Eu estava fazendo a aula 7, durante a parte 6 e 7, no tópico de alteração da empresa, e quando finalizei o código, notei que no navegador, quando eu alterava a "data de abertura", a data de abertura sumia e quando clicava em editar novamente, o espaço que estava a data de abertura alterada, ficava em branco

Mandarei os códigos que fiz da aula.

Esse primeiro é o JSP de alteração.

<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/fmt" prefix = "fmt"%>
<c:url value="/alteraEmpresa"  var="linkServletNovaEmpresa"/> 

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>



    <form action="${linkServletNovaEmpresa }" method="post">

        Nome: <input type="text" name="nome" value="${empresa.nome }" />        
        Data Abertura: <input type="text" name="data" value="<fmt:formatDate value="${empresa.dataAbertura}" pattern="dd/MM/yyyy"/>" />
        <input type="hidden"  name="id" value="${empresa.id }" >
        <input type="submit" />

    </form>

</body>
</html>

Esse segundo é a classe de alteração

package br.com.alura.gerenciador.servlet;

import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

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("/alteraEmpresa")
public class AlteraEmpresaServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        System.out.println("Alterando nova empresa");

        String nomeEmpresa = request.getParameter("nome");
        String paramDataEmpresa = request.getParameter("data");
        String paramId = request.getParameter("id");
        Integer id = Integer.valueOf(paramId);    


        Date dataAbertura = null;        
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
            sdf.parse(paramDataEmpresa);
        } catch (ParseException e) {
            throw new ServletException(e);
        }

        System.out.println(id);

        Banco banco = new Banco();
        Empresa empresa = banco.buscaEmpresaPelaId(id);
        empresa.setNome(nomeEmpresa);
        empresa.setDataAbertura(dataAbertura);

        response.sendRedirect("listaEmpresas");
    }


}
1 resposta

Oi Bruno

Seu código me parece correto. Não deu nenhum erro no log? Pois se der alguma exception não irá atualizar a data, conform esse trecho de código:


        Date dataAbertura = null;        
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
            sdf.parse(paramDataEmpresa);
        } catch (ParseException e) {
            throw new ServletException(e);
        }

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software