Estou com um problema e não sei como resolver, em uma página tenho uma lista com vários nomes, então quando o usuário clicar em um dos nomes ele é redirecionado para uma nova página onde aparece todas as fotos do nome que ele clicou, mas o problema é o seguinte, não consigo fazer isso passando como parametro o id da pessoa, testei fazer sem o parametro e a pesquisa no banco funciona, lista tudo o que tiver, mas se eu colocar qualquer tipo de parametro me retorna um erro e não consigo entender o porque do erro.
JSP
Vi que o erro é um NullPointerException, mas não sei onde isto está ocorrendo, pois o meu netbeans está com problema, quando vou depuarar o projeto ele não mostra as variáveis diz que encontrou uma exceção inesperada :?. Então se alguém conseguir me dizer onde está o erro para que posso resolver já agradeço, pois só vou ter tempo de reinstalar o netbeans final de semana.
Do que eu lembro de JSP (Faz um tempo que só mexo com Facelets…), esse trecho abaixo tentará chamar um método getLista() - ‘sem parametros’:
Vi que você não possui esse método em seu DAO, isso é um problema.
Vi que em seu Servlet você coloca um atributo no request chamado “lista” e depois manda um “sendRedirect”, isto não vai funcionar, a variável “lista” não estará disponível no JSP pois o sendRedirect manda o browser iniciar uma nova requisição:
Creio que você não necessite acessar o DAO diretamente da JSP, você já está pegando a lista desejada, usando um RequestDispatcher para fazer um forward você poderá usar diretamente a variável “lista” que está atribuindo à request, exemplo:
Do que eu lembro de JSP (Faz um tempo que só mexo com Facelets…), esse trecho abaixo tentará chamar um método getLista() - ‘sem parametros’:
Vi que você não possui esse método em seu DAO, isso é um problema.
Vi que em seu Servlet você coloca um atributo no request chamado “lista” e depois manda um “sendRedirect”, isto não vai funcionar, a variável “lista” não estará disponível no JSP pois o sendRedirect manda o browser iniciar uma nova requisição:
Creio que você não necessite acessar o DAO diretamente da JSP, você já está pegando a lista desejada, usando um RequestDispatcher para fazer um forward você poderá usar diretamente a variável “lista” que está atribuindo à request, exemplo:
Qualquer coisa grita.
[/quote]
1 - ele não acessa o DAO diretamente da JSP
2 - Não existe nada que impeça setar algo no request e na JSP chamar o request.getAttribute(“lista”);
3 - É o que ele está tentando fazer.
Tenho sim uma jsp chamada ensaioPesquisa, é nela que quero mostrar o resultado depois que o usuário clicar no nome.
Só não entendi o que você quis dizer com isso:
E a respeito do que o renandemelo falou não preciso alterar o que ele disse então?
De fato, nada impede ele dar um request.getAttribute(“lista”); porém esse atributo estará zerado por causa do “sendRedirect” (que processará o jsp em outra requisição, isto é, outro objeto “request”)
Não era bem o que o código estava fazendo, visto que no jsp ele chamava um método “getLista” de “pesquisa”, invés de utilizar a lista já capturada pelo Servlet e associada ao request.
Vlw pelas dicas aí pessoal, consegui fazer o que estava querendo, segui as dicas do renandemelo, como estou começando com jsp/servlet não sabia que quando da um sendRedirect zera todas as variáveis. Então o código ficou assim