1
resposta

Não consigo alterar empresa , modulo criando controlador

Boa tarde , teminei o modulo criando controlador mas não consigo editar a empresa : erro for input String , parece que esta relacionado com ID mas não consigo solucionar podem ajudar

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Saulo, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

O erro java.lang.NumberFormatException é lançado quando ocorre uma tentativa de converter uma string em um número, mas o formato da string não é válido. No seu caso, o erro está sendo lançado porque está ocorrendo à tentativa de converter uma string vazia ("") em um número.

Peço que verifique se no arquivo AlteraEmpresa.java a conversão do atributo id para o tipo Integer foi declarado corretamente. A classe deste arquivo deve está conforme apresentado abaixo:

public class AlteraEmpresa {

    public void executa(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) {
            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("entrada?acao=ListaEmpresas");
    }

}

Verifique também se o formulário foi declarado corretamente no arquivo formAlteraEmpresa.jsp, como apresentado abaixo:

    <form action="${linkEntradaServlet }" 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="hidden" name="acao" value="AlteraEmpresa">
        <input type="submit" />
    </form>

Caso sejam realizadas modificações, salve os arquivos e reinicie a aplicação. Realize uma nova tentativa de edição dos dados da empresa.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

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