Duvida Exercicio Apostila da Caelum

4 respostas
T

Tenho 3 pacotes, neles estao as classes ConectionFActory, ContatoDAO,Contato. Na classe ContatoDAO existem varios metodos, como adicionarContato, removerContato, buscaContatoNome, buscaContatoId, AlteraContato. Na classe Contato existem os seguintes atributos nome,email, endereco,bairro,cidade,tel e os seus setters e getters, pois bem, a apostila começa explicando como construir essas classes java, foi o que eu fiz, estao todas funcioando beleza. Após isso ela começa realmente a parte de web, explicando como empacotar as classes java transformando em um arquivo.jar para poder usa-las programando para web(JSP), foi o que eu fiz,

<%@page import= "java.util.*,dao.*,con_bd.*,modelo.*" %>
<html><ul>

<%

ContatoDAO dao = new ContatoDAO();
List contatos = dao.getList();

for (int i = 0; i < contatos.size(); i++ ){
Contato contato = (Contato) contatos.get(i);

%>
<li><%=contato.getCidade() %><%=contato.getNome()%>, <%=contato.getEmail()%>:
<%=contato.getEndereco()%></li>


<%
System.out.print("Tudo executado");
}
%>
</html></ul>

Esse código funcionou, importanto os pacotes e usando a Classe contatoDAO, com o metodo getList() ele mostra todos os contatos, em fim o problema é o seguinte, quando eu adiciono os outros metodos para mostrar o Telefone, Bairro, Cidade do Contato (contato.getTel,contato.getBairro,contato.getCidade )ele apresenta o seguinte erro:

An error occurred at line: 13 in the jsp file: /hello.jsp
Generated servlet error:
The method getCidade() is undefined for the type Contato

O que achei estranho é o seguinte em java esta tudo funcioando, mas quando importo para usar em JSP nada me parece que nada funciona, bem como é a primeira vez que estou fazendo algo do tipo não estou entendendo o que esta acontecendo…

Se alguem entendeu a minha duvida e quiser ajudar, eu Agradeço, se precisarem de mais detalhes dos códigos me avisem

Abraço

4 Respostas

Cabral

The method getCidade() is undefined for the type Contato

Rapaz, veja se existe os atributos corretos na classe Contato, o que ele reclama ai é que esta faltando o método getCidade(), veja se ele existe.

Abraços

Ricardo Cabral

T

Então Cabral

Tudo funciona em "java",

Vou postar o código desse método como exemplo:

public ArrayList<Contato> getList() throws SQLException
	{
		PreparedStatement stmt = (PreparedStatement) this.connection.prepareStatement("select * from contatos");
		ResultSet rs = (ResultSet) stmt.executeQuery();
		
			//retorna Array list do tipo Contato			
			ArrayList<Contato> contatosArray = new ArrayList<Contato>();
			
			while (rs.next())
			{
     							Contato contato = new Contato();
				
				contato.setId(rs.getInt("id"));
				contato.setNome(rs.getString("nome"));
				contato.setEmail(rs.getString("email"));
				contato.setEndereco(rs.getString("endereco"));
				contato.setTel(rs.getString("tel"));
				contato.setBairro(rs.getString("bairro"));
				contato.setCidade(rs.getString("cidade"));
								
				contatosArray.add(contato);
			}
			rs.close();
			stmt.close();
			return contatosArray;

Na minha classe principal, eu tenho um menu com a opção de mostrar todos os contatos, segue

case 2:
				{
					/*exibindo os dados atraves do get list dao
					chamando o get List da classe DAO e atribuindo ao ArrayList do tipo contato 
					delcarando uma variavel (handle) do tipo arraylist<Contato>*/
				
					ArrayList<Contato> arraycontatos;
		
					//	atribuindo ao arraylist
					ContatoDAO dao2 = new ContatoDAO();
					arraycontatos= dao2.getList();
		
			
					for (Contato cont : arraycontatos) 
					{
						System.out.println("Id: " + cont.getId());
						System.out.println("Nome: " + cont.getNome()); 
						System.out.println("Email: " + cont.getEmail());
						System.out.println("Endereço: " + cont.getEndereco());
						System.out.println("Cidade: " + cont.getCidade());
						System.out.println("Bairro:  " + cont.getBairro());
						System.out.println("Tel:  " + cont.getTel());
						System.out.println("\n\n");
					}
		
					break;
				}

A resposta:

2
Id: 1
Nome: Joao Da Silva
Email: [email removido]
Endereço: Rua Presidente Vargas
Cidade: São Paulo
Bairro:  Anhangabau
Tel:  [telefone removido]



Id: 2
Nome: Maria Tereza
Email: maria@maria
Endereço: R. Coronel Ramalho 54
Cidade: Belo Horizonte
Bairro:  Parque do Sol
Tel:  [telefone removido]

Se em java funciona porque que quando eu importo ele diz que não existe, esta acontecendo para não só esse método....

ViniGodoy

Estranho mesmo. Tem cheiro de problema de compilação, ou geração do jar com uma classe antiga… tente recompilar o projeto todo, do zero, limpando os arquivos .class que eventualmente estiverem lá e gerando o .jar novamente.

T

ViniGodoy, Exatamente o que voce disse!!!

Fiz isso, e funciou, o engraçado é que tive que gerar o .jar em outro lugar e depois copia-lo para dentro do web-inf, pois quando eu estava gerando direto lah não funcionava, mas em fim,

Valeu!!!

Criado 21 de fevereiro de 2007
Ultima resposta 21 de fev. de 2007
Respostas 4
Participantes 3