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
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
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!