Problema com meu servlet e jsp... RESOLVIDO!

Pessoal fiz uma tela simples de cadastro com jsp e servlet :-o
a minha missao era só fazer cadastrar, alterar, listar e deletar bem basico mesmo
Só que esta acontecendo um BO aqui quando eu vou cadastrar.
Eu coloquei o ID como altomatico funcionou blz… mais quando eu coloquei algumas
validaçoes com JS nao cadastrou mais… gera um erro que eu nao sei da onde vem
se eu tiro as validaçoes cadastra normal

vou colocar aqui pra vcs verem
Valew :smiley:

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

		String acao = request.getParameter("escondido");
		AgendaDAO dao = new AgendaDAO();
		String idage = request.getParameter("idage");

		if (acao.equalsIgnoreCase("cadastrar")) {
           
			String id = request.getParameter("id_agenda");
			String data = request.getParameter("data_agenda");
			String hora = request.getParameter("hora_agenda");
			String desc = request.getParameter("descricao_agenda");
			String sit = request.getParameter("situacao_agenda");
			String obs = request.getParameter("observacao_agenda");

			Agenda age = new Agenda();
			
			if (id != null) {
				age.setId_agenda(Integer.parseInt(id));
			}

			age.setData_agenda(data);
			age.setHora_agenda(hora);
			age.setDescricao_agenda(desc);
			age.setSituacao_agenda(sit);
			age.setObservacao_agenda(obs);

			if (age.getId_agenda() != null) {
				dao.alterar(age);
				request.getRequestDispatcher("cadagenda.jsp").forward(request,
						response);
			} else {
				dao.cadastrar(age);
				request.getRequestDispatcher("cadagenda.jsp").forward(request,
						response);
			}

		}

Esse é meu DAO pra cadastrar

[color=orange]
	public void cadastrar(Agenda ag) {
		String sql = "insert into agenda (data_agenda, hora_agenda, descricao_agenda, situacao_agenda, observacao_agenda) values(?,?,?,?,?)";

		try {
			PreparedStatement stm = con.prepareStatement(sql);

			stm.setString(1, ag.getData_agenda());
			stm.setString(2, ag.getHora_agenda());
			stm.setString(3, ag.getDescricao_agenda());
			stm.setString(4, ag.getSituacao_agenda());
			stm.setString(5, ag.getObservacao_agenda());

			stm.execute();
			stm.close();

			System.out.println("Cadastrando...");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}[/color]

O erro que da é esse ai!!!
se eu apagar a linha 11 e as linhas 20,21 e 22 do meu metodo cadastrar
ele cadastra certinho só que ai o problema fica quando eu vou alterar.
em vez dele alterar ele cadastrar um novo ID :cry:

[code]
HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NumberFormatException: For input string: “”
java.lang.NumberFormatException.forInputString(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
controle.ControleAgenda.doGet(ControleAgenda.java:64)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.


Apache Tomcat/6.0.20[/code]

Posta o erro que esta dando!

vlw

pelo que eu entendi você não ta preenchendo o campo de id na JSP na hora da edição então na hora de passar para o seu método de updated ele da um NumberFormatException porque contem uma String vazia :smiley:

Pessoal ja resolvi o problema
O problema era na linha 20 mesmo
eu só acrescentei que alem de o ID ser diferente de null ele tambem seria diferente de vazio :smiley:
Coisas de Strings rsrsrsr

if (id != null && !id.equals("")) { age.setId_agenda(Integer.parseInt(id)); }

[quote=marciogamon]Pessoal ja resolvi o problema
O problema era na linha 20 mesmo
eu só acrescentei que alem de o ID ser diferente de null ele tambem seria diferente de vazio :smiley:
Coisas de Strings rsrsrsr

if (id != null && !id.equals("")) { age.setId_agenda(Integer.parseInt(id)); }[/quote]
Aeee!!
Bendita String !rsrs

PS. coloca o tópico como resolvido pra ficar organizado!

vlw