Pessoal tenho uma servlet onde eu coloco alguns atributos pelo set atribute e dou um forward com RequestDispacher para uma jsp so que essa jsp. so q os atributos nunca chegam na jsp sempre estao null.
tanto o getParameter qnto o getAtribute retorna null.
alguem sabe porq?
Posta o código do servlet e do jsp de destino para que eu possa dar uma olhada e ver a origem do problema.
ta +ou- assim:
doPost(…){
request.setAtribute(“erro”,“mensagem de erro”);
RequestDispacher rd = request.getReq…(“pagina.jsp”).forward(request, response);
}
no jsp
<%= request.getParameter("erro) %>
nao da pra colocar o codigo real aqui por causa do sistema de seguranca da empresa. entao fiz esse esboço ae.
vlw
outra coisa, se na hora do forward eu colocar o nome do jsp seguido de ?erro=mensagem_de_erro funciona perfeitamente.
request.setAttribute funciona com o esquema de chave + valor, onde a chave seria o apelido que você dá ao objeto e valor seria o objeto.
Exemplo:
ContaCorrente cc = new ContaCorrente();
cc.setNumero = "454-5";
cc.setTitular = "Leonardo Cantanhêde";
request.setAttribute("conta", cc);
Recuperando o objeto no jsp:
ContaCorrente cc = (ContaCorrente)request.getAttribute("cc");
[quote=leocantanhede]request.setAttribute funciona com o esquema de chave + valor, onde a chave seria o apelido que você dá ao objeto e valor seria o objeto.
Exemplo:
ContaCorrente cc = new ContaCorrente();
cc.setNumero = "454-5";
cc.setTitular = "Leonardo Cantanhêde";
request.setAttribute("conta", cc);
Recuperando o objeto no jsp:
[code]
ContaCorrente cc = (ContaCorrente)request.getAttribute(“cc”);
[/code][/quote]
o problema esta ae, qndo recupero com getAtribute ou getParameter ele retorna null, ou seja, o objeto nao esta sendo guardado no contexto, so nao sei prq.
Pelo fragmento de código que você postou acima, mensagem de erro não é um objeto, o que eu quiz dizer é que por exemplo crie uma variável String e atribua o valor “mensagem de erro” a ela, assim você conseguirá recuperá-la na seu jsp
entedi, vou testar aqui.
sabe me dizer ql eh a diferenca de passar uma string direto e de criar um objeto e depois passar? me parece a mesma coisa.
Java é uma liguagem fortemente tipada, ele só ira interpretar uma variável ou objeto se você os declarar antes, “mensagem de erro” não é uma varíavel se você não atribuir um tipo a ela:
Interpretado:
String erro = "mensagem de erro";
Não intepretado, e gera erro
erro = "mensagem de erro";
testei do jeito q vc falou e nao funcionou.