Recuperando dados

4 respostas
E

Oi pessoal.

É o seguinte, pego um dado usando request.getParameter() e passo ele adiante com request.setAttribute(), quando tento pegar na outra página com request.getAttribute() vem nulo.
Tentei usando o hidden, mas não tive sucesso.

Quando pego com request.getParameter() não estou pegando da jsp, e sim de uma outra ação que já passou esse dado com request.set… , é por isso?
Qual o limite para transferir esses dados de uma jsp para outra usando request sem que estejam na sessão?

4 Respostas

marcelo_mococa

request.getParameter é para recuperar dados que são enviados do browser ao servidor. A maioria dos frameworks mvc te abstrai deste método.

request.set/getAttribute são usados para trafegar dados durante a requisição. Por exemplo, em um servlet você pode inserir um objeto na requisição para pegá-lo na próxima etapa, ou seja, na renderização do html (jsp).

por exemplo:

no servlet:
request.setAttribute(“cliente”, new Cliente(“jose”));

na jsp:
${cliente.nome}

espero ter sido claro.

E

ok. Usando essa explicação sua, e se depois que pegar ele na próxima etapa eu quiser jogar novamente e pegar em outra etapa, é usando também request.getAttribute?

marcelo_mococa

Você está mantendo o objeto durante o escopo de uma requisição. Caso seja necessário mantê-lo durante mais de uma requisição, é preciso estudar a melhor solução:

  • talvez manter o objeto na sessão.
  • enviar como parâmetro para a próxima requisição os dados ou algum identificador do objeto. Possivelmente mantido em algum campo hidden no html.
E

valeu Marcelo, obrigada.

Criado 24 de janeiro de 2008
Ultima resposta 28 de jan. de 2008
Respostas 4
Participantes 2