Erro com getParameter() [Resolvido]

42 respostas
N

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

42 Respostas

E

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?

MarcioTavares

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).

N

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…

E

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

N

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:

cu_ringa

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);
N

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

E

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.

cu_ringa

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;
N

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

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

E

Coloca todos os teus fontes no forum. por favor.

N

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

N

mais esses jsp s

E

Manda o fruta .jsp tbem.

N

“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

E

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

N

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

Abs

E

Ola.

Tenta usar este arquivo q ta anexo

Ve se agora vai.

Obs.: considerei o servlet q vc mandou bl.

N

Aki no resultado ele continua dando nulo…

N

Cara oq vc acha q é esse erro… meu to mó cabrero por causa disso… e não consigo ajuda nem do ggogle pra resolver isso…

E

Deixa te fazer uma outra pergutna.

Q container vc ta usando ? (tomcat?)

Q ferramenta voce ta usando?

N

isso to utilizando o tom cat e o eclipse…

pelo oq vc viu nos meus arquivos tem alguma coisa de errado???
tipo grotesca… pq to começando estágio agora… to um pouco perdido

E

cara, deveria ta ok

to montando um prj aqui pra vc

N

cara brigadão hein

E

Deixa te fazer outra pergunta.

Qdo vc altera o programa (classe, jsp) , vc esta republicando o projeto? Vc esta parando o container (tomcat) e publicando?

MOntei um exemplo. e estou te mandando em seguida.

Aqui foi.

blz

E

Outra coisa, vc ta usando oEclipse WTP??? ou qual
?

E

Fera. Anexo o projeto que montei. da uma olhada

N

Cara meu eclipse é o 3.2… agora se é wtp não sei… vo da uma olhada no seu projeto já converso com vc já…

há eu estarto o tomcat sim…

E

A pergutna é vc, para o tomcat e inicia ele em cada alteracao?

pode ser este o problema.
Vc deve parar e iniciar ele sempre. porq eu senao as alteracoes em classe nao sao assumidas pelo tomcat.

E outra tenta remover o aplicacao do tomcat e fazer um novo deploy.

so pra garantir.

Voce devera executar a classe helloworld ok

N

O resultado foi esse

Hello world em jsp

… era isso né

E

Sim, Era isso.

NO servlet eu mando isso ocmo parametro.

N

então eu entendi seu codigo… o problema ta nesse meu codigo aki… to viajando já tentei de td…

E

Faz o seguinte,qtos mb da o seu codigo compactado?

N

tem alguma função no eclipse q faça isso pra mim… pq são 4 classes java e 3 e 6 jsp…

E

Desconheco.

Compacta o seu projeto e publica aqui.

N

Ta com um arquivo de testo com alguma coisa q pode te ajudar se caso vc precisar de mais algo pode me avisar…

O problema é colocar o nome da fruta entre parenteses na fruta.jsp e colocar a idade na idade.jsp onde esta o x…

Caso vc possa mandar uma explicação tb… de como resolve eu agradeço cara

E

que tipo de arquivo é este?

nao consigo abrir este arquivo.

N

é zip… é q é free ele… vc não consegue abrir ele com o win zip???

N

tenta esse

N

Conseguiu pegar…???

E

Nao.

MAndei uma mensagem privada pra vc.
le la.

Criado 15 de agosto de 2006
Ultima resposta 15 de ago. de 2006
Respostas 42
Participantes 4