Opa, apresenta algum erro ao rodar? olhando assim a princípio não tem algo errado.
wandersonxs
Aparentemente não…
Qual erro está ocorrendo?
Abraços
Wanderson
simberg
Se eu colocar um system.out.println(c1.getNome_professor()); aparece no console o valor certinho, porém qdo tento usar a lista em uma página jsp, diz que não há valor.
Unable to find a value for “lista_cpd” in object of class “br.direito.defesas.dao.ContatoDAO” using operator “.”
Na página jsp troquei a chamada por outra lista e funciona, então o erro não está na página jsp e sim nesse código que passei que não guarda valores na lista.
Não sei o que vem antes do método em questão, mas você não está verificando se o objeto “c1” está null, ou seja pode ocorrer NullPointerException!
Uma coisa que eu não entendi foi você estar setando novamente os atributos de “c1”, se for apenas por causa do Id, podia setar apenas ele e depois add na lista normalmente sem precisar setar tudo de novo.
Dica na declaração da lista fica melhor você fazer assim…
List<ContatoProfessores>list_cpd = new ArrayList<ContatoProfessores>();
Pois caso você tenha que mudar de ArrayList para outro tipo, como por exemplo LinkedList, não haverá um impacto tão grande.
Acho que o pior seria o possível NullPointerException, se puder poste o restante do código para analisarmos melhor e te ajudar.
Abs
simberg
Coloquei system.out.println(c1.getNome_professor()) e apareceu valor no console, então o valor não é null.
de onde esta vindo o objeto “ContatoProfessores c1” que chega a list?
Guinter
posso estar errado mas o nome List_cpd não seria getLista_cpd lá na jsp?
simberg
Da servlet que coloquei parte do código.
Mas, como falei o valor está sendo passado, mas não está indo para a página jsp.
simberg
Não, na verdade quando vc trabalha com jstl vc suprime.
Guinter
Tenta o seguinte pega o retorno da sua servlet e coloca na sessão, depois só usa na página a variável sem o bean no forEach pra ver se pega os valores.
A lista “list_cpd” só é declarada dentro do método getLista_cpd ??
Se for assim você estaria tentando acessar um atributo da classe ContatdoDAO, mas que na verdade só existe na execução do método.
simberg
Guinter
Obrigado pela força.
Eu estava pensando em fazer isso.
Na verdade eu tenho uma página que o usuário cadastra um professor.
Esses dados vão para uma servlet que analisa, chamando uma outra classe que olha o CPF, se estiver correto faz a inclusão do professor. Está funcionando ok.
Se o CPF estiver incorreto, pega os dados e envia para essa lista que é chamada pela jsp onde deveria preencher os campos de nome, endereço, deixando apenas o CPF para ser corrigido pelo usuário.
Se não desse certo, e não entendo pq não. Estava pensando em colocar em variável de sessão essas informações, apesar de achar o que estou fazendo um trabalho mais correto.
simberg
Achei o erro, aliás me mostraram.
Quando você chama da seguinte forma items="${dao.lista_cpf}", espera-se que o método seja um acessor no padrão javabeans - o famoso “getter”. É aí que está seu erro, um getter não leva parâmetros!
não posso
public List<ContatoProfessores> getLista_cpd(ContatoProfessores c1){
Funciona perfeitamente quando não coloco parâmetros e acesso acessando um banco de dados.
Guinter
Show de bola velho.
simberg
a
simberg
Consegui, daqui a pouco posto aqui.
Valeu a todos.
simberg
Como com get não posso passar parâmetros para o DAO.
Fiz assim:
Criei o atributo no DAO.
private static ContatoProfessores contato_p;
depois um setLista para pegar as informações
public static void setLista_cpd(ContatoProfessores c1)throws SQLException{
contato_p=c1;
}