3
respostas

Alteração do nome e data da empresa

Quando eu clico no botão enviar depois de alterado nome e data ou invés de alterar ele está criando uma nova linha com o nome e data que eu queria alterar. Já revisei tudo e não encontrei o problema.

3 respostas

Bom dia Paulo

você consegue colocar o codigo para que eu possa verificar?

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 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");
        dataAbertura = sdf.parse(paramDataEmpresa);
    } catch (ParseException e) {
        e.printStackTrace();
        throw new ServletException(e);
    }

    System.out.println(id);

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

    response.sendRedirect("listaEmpresas");
}

}

Pra ele estar alterando, provavelmente o problema esta no annotation errado, que ao invés de estar chamado esse servlet de alterar, está chamando servlet que inclui uma nova empresa na lista. revisa novamente seu código.