Manter objeto entre requisições

7 respostas
ERVER

Boa tarde pessoal,

Tô com um projeto usando Java + Spring MVC.

Tenho uma classe Fornecedor, que possui uma List de objetos da classe Produtos. Até ai tudo bem.
O problema é que preciso de uma tela com o seguinte: campos para inserir um (ou vários) produtos, os campos para os valores e dois botões: um para continuar (voltar para a mesma jsp e continuar populando a list de produtos da classe fornecedor) e outro botão finalizar, o qual persiste os objetos (a list de produtos) no banco de dados.
Eu sei que é impossível manter um estado entre duas ou mais requisições sem utilizar sessions, mas pesquisando encontrei a classe AbstractWizardFormController, que implementa isso, mas já está marcada como “deprecated”. Também achei alguns artigos sobre o Spring Webflow, mas me parece meio antiguinho também, sem contar que é muita xml.

Alguém tem alguma dica de como resolver isso?

Grato desde já, abraços.

7 Respostas

ERVER

Ninguém?

rmendes08

Cara, existem apenas 2 alternativas: ou você recupera/grava a sua lista a cada requisição ou mantém ela em uma sessão. Mesmo que você faça isso através de algum framework ou API na prática ele vai guardar seu objeto na sessão.

BrunoFurtado

Cara,

N entendi mto bem oq vc quer, mas já tive que manter objetos entre requisições.
Era um cadastro com 3 passos.

Não é a forma mais elegante, porém funciona.
No JSP utilizei o input type hidden e fui transportando os parâmetros pelas requisições:

//exemplo de link, que poderia ser um submit de form, javascript, ou qualquer outra coisa
<a href="pagina2.jsp?param='valor'">Link</a>

// pagina 2
<input type="hidden" name="param" VALUE="<%=request.getParameter("param")%>">
ERVER

boa noite pessoal, primeiramente mto obrigado pelas sugestoes, vou usar algo mais simples dessa vez, como vcs sugeriram. mas eu achei a ideia do webflow mto interessante, e to pensando em aprender pra usar futuramente. alguem aqui ja usou? ou sabe se ele foi descontinuado ou nao?
grande abraco

rmendes08

$ERVER:
boa noite pessoal, primeiramente mto obrigado pelas sugestoes, vou usar algo mais simples dessa vez, como vcs sugeriram. mas eu achei a ideia do webflow mto interessante, e to pensando em aprender pra usar futuramente. alguem aqui ja usou? ou sabe se ele foi descontinuado ou nao?
grande abraco

O problema é que essa “solução” só funciona para Strings ou primitivos, pois você está “guardando” o valor no HTML. Para objeto como um bean por exemplo, isso já não funciona.

Mas enfim, porque você não quer usar a sessão ? Qual o seu medo ?

ERVER

Olá rmendes08,

Novamente muito obrigado pela sua ajuda e atenção.

Enton, eu vou fazer com sessão mesmo. Apenas não gosto muito de usar sessão, pois torna o código meio confuso, as vezes (sem contar que sessão não foi criada pra esse propósito em específico, do meu ponto de visto). Já o webflow me pareceu mto legal, não sei como ele funciona internamente, mas da pra controlar melhor o fluxo da navegação, deixando a coisa mais transparente. Bom, mas isso tudo é só minha opinião. Gostaria de saber a sua sobre isso também, se você tiver tempo.

Muito obrigado, abraços.

ERVER

O problema maior também é ter que mapear duas requisições: uma passando o objeto pra sessão e outra pra inserir os valores nela.

Criado 11 de setembro de 2012
Ultima resposta 12 de set. de 2012
Respostas 7
Participantes 3