Erro exercicio 9.11 Caelum

3 respostas Resolvido
Jeferson_Carlos

Boa tarde pessoal.
Estou fazendo o exercicio parte 2 da apostila Web , preciso adicionar um contato , atraves de um botao Adicionar Contato dentro da Lista de Contatos.
Ao clicar no botão ele abre o formulario, eu preencho, mas na hora de Enviar , ele da erro de Pagina não existe.
O que que eu to fazendo de errado e não estou vendo? Podem me ajudar?

Logica AdicionaContatoLogic:

package br.com.caelum.mvc.logica;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.caelum.agenda.dao.ContatoDao;
import br.com.caelum.agenda.modelo.Contato;

public class AdicionaContatoLogic implements Logica {

	@Override
	public String executa(HttpServletRequest req, HttpServletResponse res) throws Exception {

		String nome = req.getParameter("nome");
		String email = req.getParameter("email");
		String endereco = req.getParameter("endereco");
		String dataEmTexto = req.getParameter("dataNascimento");
		Calendar dataNascimento = null;

		try {
			Date date = new SimpleDateFormat("dd/mm/yyyy").parse(dataEmTexto);
			dataNascimento = Calendar.getInstance();
			dataNascimento.setTime(date);
		} catch (ParseException e) {
			return null;
		}

		Contato contato = new Contato();
		contato.setNome(nome);
		contato.setEmail(email);
		contato.setEndereco(endereco);
		contato.setDataNascimento(dataNascimento);

		ContatoDao dao = new ContatoDao();
		dao.adiciona(contato);

		System.out.println("Contato Adicionado com Sucesso!");

		return "mvc?logica=ListaContatosLogic";
	}

}

adiciona-contato.jsp:

< %@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
< %@taglib tagdir="/WEB-INF/tags" prefix="caelum"%>
< !DOCTYPE html>

< html>
< head>
< link href="css/jquery-ui.css" rel="stylesheet">
< script type="text/javascript" src="js/jquery.js"></script>
< script type="text/javascript" src="js/jquery-ui.js"></script>
< meta charset="ISO-8859-1">
< title>Formulario</title>
< /head>
< body>
	< c:import url="cabecalho.jsp"></c:import>
	< h1>Adiciona Contatos</h1>
	< hr />
	< hr />

	<form method="POST" action="AdicionacontatoLogic">
		Nome : <input type="text" name="nome" /><br /> E-mail : <input
			type="text" name="email" /><br /> Endereço : <input type="text"
			name="endereco" /><br /> Data de Nascimento :
		< caelum:campoData id="dataNascimento" />
		< br /> <input type="submit" name="Gravar" />

	< /form>

	< c:import url="rodape.jsp"></c:import>
< /body>
< /html>

lista-contato.jsp:

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


< body>
	< c:import url="cabecalho.jsp" />

	< !-- Criando a instancia do ContatoDao -->
	< !-- jsp:useBean id="dao" class="br.com.caelum.agenda.dao.ContatoDao"/--!>



< table border="1">
<!-- Fazendo o foreach percorrendo contatos e montando as linhas na tabela -->
	< c:forEach var="contato" items="${contatos}" varStatus="id">

		<tr>
			<th>LOGICA</th>
			<th>ID</th>
			<th>NOME</th>
			<th>EMAIL</th>
			<th>ENDERECO</th>
			<th>DATA NASCIMENTO</th>
		</tr>
		<tr bgcolor="#${id.count % 2 == 1 ? 'aaee88' : 'ffffff'}">

			<td><a href="mvc?logica=RemoveContatoLogic&id=${contato.id}">Remover</a></td>
			<td>${id.count}</td>
			<td>${contato.nome}</td>
			<td><c:choose>
					<c:when test="${not empty contato.email }">
						<a href="mailto:${contato.email }"> ${contato.email}</a>
					</c:when>
					<c:otherwise>Email não informado</c:otherwise>
				</c:choose></td>
			< td>${contato.endereco}</td>
			< td>< fmt:formatDate value="${contato.dataNascimento.time }"
					pattern="dd/MM/yyyy" /></td>
		< /tr>

	< /c:forEach>

	< a href="adiciona-contato.jsp">Adicionar Contato</a>
	< /table>


	< c:import url="rodape.jsp" />

< /body>

3 Respostas

peczenyj
Solucao aceita

não seria AdicionaContatoLogic ?

Jeferson_Carlos

Preciso treinar mais meu olho pra essas coisas kk
Vlw mano, era isso mesmo.

peczenyj

ajusta a fonte e verifica se vc precisa de óculos.

ficar muito tempo no computador pode não ser legal a longo prazo.

Criado 23 de novembro de 2016
Ultima resposta 23 de nov. de 2016
Respostas 3
Participantes 2