Fera !! q isso vc já esta fazendo muito descobrindo o problema, olha, vou ser sincero
acho que está faltando muito para min mesmo, estou tentando me esforçar este problema
que não consigo ver esta me matando, mas está sendo util, já aprendi muito contigo e pesquisando
tentando fazer algo…
Então oque tenho agora é o seguinte :
O Meu servlet chamando o metodo consulta que esta na classe TelefoneDAO:
//Este captura o valor do input acao e verifica se pretendo fazer uma consulta
else if (acao.equals("consultartel")){
//String nome = request.getParameter("nome");
//Recuperando objeto nome
String pesq = request.getParameter("nome");
//Criando consulta ao Banco
TelefonesDAO dao = new TelefonesDAO();
GerenciaTelefone tel = dao.consultar(pesq);
//ResultSet result = dao.consultar(pesq);
request.setAttribute("tel", tel);
request.getRequestDispatcher("resultaTelefones.jsp").forward(request, response);
}
Abaixo segue o codigo da classse que faz a consulta no banco, esta é especificamente o metodo consultar() :
public GerenciaTelefone consultar(String nome){
Statement st = null;
ResultSet resultado = null;
GerenciaTelefone listaTelefone = null;
try{
st = con.createStatement();
//executa consulta e armazena dados
resultado = st.executeQuery("select * from Telefone where nome = '"+nome+"'");
//Retirado -Instanciando a classe GerenciaTelefone preparando a lista
// Retirado -- GerenciaTelefone listaTelefone = new GerenciaTelefone();
//laço de segue por casa conteudo do resultaser
while(resultado.next()) {
//Instanciando a classe Telefone
Telefones telefone = new Telefones();
//atribuindo valor do result set a classe telefone
telefone.setCodigo(resultado.getInt("id"));
telefone.setRamal(resultado.getInt("ramal"));
telefone.setNome(resultado.getString("nome"));
telefone.setDepartamento(resultado.getString("departamento"));
//adicionando valores que estão na classe telefone para a lista
listaTelefone.adiciona(telefone);
}
}
//excessão de conexao
catch (SQLException ex) {
//pelo oque eu entendi este objeto me retorna uma mensagem de erro neste caso a causa
// bem que poderia retornar com conserta tipo um objeto assim ex.consetaparamin().
ex.getCause();
}
finally{
/*aqui diz que precisa ser criado o paramento para ela se eu colocar
ela dentro do try não acusa erro porem não retorna nada
*/
return listaTelefone;
//conexao.fechar(con, st, null); -- Creio que não seja necessário
}
Ok, até o momento creio que esteja corretor o Servlet chama o metodo consultar, o metodo
consultar retorna um objeto de tipo GerenciaTelefone, que é uma classe que foi criada e nesta classe
o construtor declara um array list e foi criado o metodo adiciona lista e get lista .
Agora creio que o problema esteja aqui, está uma pagina JSP reponsavel por mostrar o conteudo da lista…
FormularioJSP --> Servlet -> Metodo Consulta() -> Servlet --> FormularioQueMostraaLista
Aversi, esta acusando erro na hora que vou instanciar o objeto gerenciatelefone, mesmo eu
tentando instanciar deste modo que o NetBeans não acusa erro :
GerenciaTelefone listatelefone = new GerenciaTelefone();
Aparece erro de incompatibildade na segunda linha :
listatelefone = request.getAttribute("tel");
Abaixo estou postando o JSP confecionado conforme sua orientação:
<%
listatelefone = new GerenciaTelefone();
listatelefone = request.getAttribute("tel");
//GerenciaTelefone listaTelefone = null;// = new GerenciaTelefone();
// listaTelefone = request.getAttribute("tel");
//GerenciaTelefone teste = request.getAttribute("tel")
Iterator i = listatelefone.getLista().iterator();
while(i.hasNext()){
//Telefones tels = null;
Telefones tels = (Telefones) i.next();
//Setando Valores
int codigo = tels.getCodigo();
int ramal = tels.getRamal();// = (Telefones) i.next();
String nome = tels.getNome();
String departamento = tels.getDepartamento();
//recuperando
out.println("<tr>");
out.println("<td>" +ramal+ "</td><br>");
out.println("<td>" +nome+ "</td><br>");
out.println("<td>" +departamento+ "</td><br>");
out.println("<td> <a href=\"SqvCliente?acao=excluir&codigo="+ramal+" \">Excluir</a></td><br>");
out.println("<td> <a href=\"SqvCliente?acao=alterar&codigo="+ramal+" \" >Alterar</a></td>");
}
%>
Eu acho que só falta isto, estranho eu não consigo recuperar o valor do atributo na variavel criada com o mesmo tipo "GerenciaTelefone "
Abs… :?
<%
listatelefone = new GerenciaTelefone();
listatelefone = request.getAttribute("tel");
//GerenciaTelefone listaTelefone = null;// = new GerenciaTelefone();
// listaTelefone = request.getAttribute("tel");
//GerenciaTelefone teste = request.getAttribute("tel")
Iterator i = listatelefone.getLista().iterator();
while(i.hasNext()){
//Telefones tels = null;
Telefones tels = (Telefones) i.next();
//Setando Valores
int codigo = tels.getCodigo();
int ramal = tels.getRamal();// = (Telefones) i.next();
String nome = tels.getNome();
String departamento = tels.getDepartamento();
//recuperando
out.println("<tr>");
out.println("<td>" +ramal+ "</td><br>");
out.println("<td>" +nome+ "</td><br>");
out.println("<td>" +departamento+ "</td><br>");
out.println("<td> <a href=\"SqvCliente?acao=excluir&codigo="+ramal+" \">Excluir</a></td><br>");
out.println("<td> <a href=\"SqvCliente?acao=alterar&codigo="+ramal+" \" >Alterar</a></td>");
}
%>