Erro com getParameter() [Resolvido]

Pessoal mais um erro a vista…

Assim tenho um parametro para pegar de uma jsp… mandar para um servlet… e mostra o resultado em outra JSP certo…

Se eu der um request.getParameter ou request.getAttribute ele não consegue pegar o valor da servlet q foi passado pela 1° JSP…

Alguem poderia me ajudar…

Aguardo ajudas pessoal…

Abs

Ola. O servlet esta chamando este novo jsp certo?

Vc esta passando este parametro a diante no servlet?

Ou apenas esta tratando no servlet e depois chamando o jsp sem fazer nada com ele?

Como vc está passando os parâmetros que vc quer?

Para usar request.getParameter(), seu parâmetro deve estar na querystring, como pagina.jsp?param=1, ou como um campo em um form enviado com método post.

Para usar getAttribute() vc precisa inserir seu atributo na sessão (request.getSession().setAttribute(arg0, arg1)) e no seu servlet de destino, obter esse atributo via request.getSession().getAttribute(arg0).

Então edneyimme

Ta chamando sim esse jsp, este parametro eu to passando pq na verdade na minha 1° jsp hé um combo BOX… nesse combo tenho 3 valores, nisso tenho q selecionar um desses para mostra na outra jsp mas tem q passar pela servlets antes…
da uma olhada no meu codigo…
no jsp tem assim em html:

Fruta
Morango
Abacaxi
Melao

na minha servlet o metodo service ta assim:

public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

	PrintWriter out = response.getWriter();
	
	String consulta = request.getParameter("consulta");
	
	if (consulta.equals("teste")) {
		out.println("Morango");
	}
	if (consulta.equals("teste")) {
		out.println("Abacaxi");
	}
	if (consulta.equals("teste2")) {
		out.println("Melão");
	}
	
	RequestDispatcher fruta = request.getRequestDispatcher("fruta.jsp");
	fruta.forward(request, response);

	

}

ai na outra jsp estou usando o comando “” <%= request.getParameter(“consulta”) %> “”

desde já agradeço sua ajuda…

Ola.
Acredito que voce tera que mudar o seu servlet.

PrintWriter out = response.getWriter();

String consulta = request.getParameter(“consulta”);

if (consulta.equals(“teste”)) {
out.println(“Morango”);
request.setParameter(“consulta”, “MOrango”);
}
if (consulta.equals(“teste”)) {
out.println(“Abacaxi”);
request.setParameter(“consulta”, “Abacaxi”);
}
if (consulta.equals(“teste2”)) {
request.setParameter(“consulta”, “Melão”);
out.println(“Melão”);
}

dai assim devera funcionar.

Qualquer coisa, avisa

Então tentei e continua na mesma… na segunda jsp onde deveria sair o resultado sai como NULL … as minhas 2 JSP’s estão corretas… o problema mesmo é na servlet…

há o coidgo q vc me passou da um errro em request.setParameter ai eu mudei para setAttribute() blz

estranho é quando eu uso o session todas as jsp’s tem acesso a ela… já como requisição não esta indo… será q tem alguma implementação nisso…

:roll:

faltou vc colocar a String consulta na requisição:

request.setAttribute("consulta", consulta);

ou

RequestDispatcher fruta = request.getRequestDispatcher("fruta.jsp?consulta=" + consulta);
fruta.forward(request, response); 

Curinga… então isso q esta me dando a pulga atras da orelha… esse negocio de requisição fica na servlets mesmo né… vo tentar aki e já aviso… vc poderia dar uma abordagem sobre essa de requisição por favor…

Valeu

Realmente faz sentido qdo vc usa session estar acessivel. por que a informacao fica armazenada na sessao do usuario.

Mas qdo vc usa request, fica apenas nesta requisicao.

deixa eu ver uma coisa aqui e ja te respondo.

faz assim q deve funcionar

String consulta = request.getParameter("consulta");
String tipoFuta = "";

if (consulta.equals("teste")) {
tipoFruta = "Morango";
}
if (consulta.equals("teste1")) {
tipoFruta = "Abacaxi";
}
if (consulta.equals("teste2")) {
tipoFruta = "Melão";
} 

request.setAttribute("fruta", tipoFruta);

ai na jsp

&lt;%= request.getAttribute("fruta") %&gt;

cu_ringa

Cara tentei fazer isso q vc me passo mas não deu certo…

cara quando mexo com requisição por alguma causa eu tenho q mudar alguma coisa no arquivo web.xml …

Não entendo pq na onde deveria imprimir o resultado ta dando null… ainda não concegui achar esse erro…

Coloca todos os teus fontes no forum. por favor.

minhas servlets estão ai não estão todas e vio manda tb os jsp s

mais esses jsp s

Manda o fruta .jsp tbem.

“index2.jsp”
chama a
“servlet fruta”
q passa o resultado para
“fruta.jsp”

valeu pela ajuda
Nossa pessoal desculpa mandei uns arquivos errados… os JSP 's são esses…

Agora ta certo

ta, mas manda o arquivo fruta.jsp pra dar uma olhada como ta.

Tai caso precisar de mais alguma coisa… afinal não mandei tds os arquivos só mandei onde estu com erro mesmo…

Abs

Ola.

Tenta usar este arquivo q ta anexo

Ve se agora vai.

Obs.: considerei o servlet q vc mandou bl.