SessionScoped e formulários de cadastro e edição. Qual a abordagem de vocês?

Olá pessoal,

Um determinado ManagedBean é do tipo SessionScoped. Neste ManagedBen gerencia um objeto que para o qual exite um formulário web de cadastro e outra página web que faz a listagem dos objetos cadastrados. Nesta última página, é possível selecionar um objeto (gerenciado pelo ManagedBean SessionScoped) para edição, redirecionando para o formulário de cadastro. Porém, depois disso, se clicarmos diretamente no formulário de cadastro, os dados do objeto que havia selecionado antes continuam lá (claro, devido a ele permanecer na sessão).

Como você tratam esta questão?

Não usar SessionScoped para isso, mas sim ViewScoped ou ConversationScoped (para CDI).

Sim, foi minha primeira abordagem. Porém, usando ViewScoped, se o usuário pressionar F5 ele perderá os dados. Uma saída: colocar na sessão, porém cai no primeiro problema.

[quote=brccosta]Sim, foi minha primeira abordagem. Porém, usando ViewScoped, se o usuário pressionar F5 ele perderá os dados. Uma saída: colocar na sessão, porém cai no primeiro problema.[/quote]Se o problema é esse, faça uma persistencia temporária dos dados no DB.

SessionScoped não é performático para cadastros.

Obrigado pelas respostas Hebert.

Pensando um pouco eu poderia colocar um controle no ManagedBean: se o comando para a página de cadastro viesse de uma página requisitando o NOVO cadastro, eu poderia limpar a sessão. O que acha desta solução?

[quote=brccosta]Obrigado pelas respostas Hebert.

Pensando um pouco eu poderia colocar um controle no ManagedBean: se o comando para a página de cadastro viesse de uma página requisitando o NOVO cadastro, eu poderia limpar a sessão. O que acha desta solução?[/quote]Se funcionar pra vc, vai fundo. [=