Flash Scope
Em nossa aplicação, por diversas situações, precisamos programaticamente redirecionar o usuário através do método HttpServletResponse.sendRedirect. Ao utilizar o método sendRedirect uma nova requisição é feita e os dados do request original serão perdidos. A imagem abaixo ilustra melhor essa situação:
Não é boa prática utilizar a sessão usuário (HttpSession) para armazenar objetos/informações, atributos ou valores que seriam perdidos na hora do redirect. Lembre-se que para casa usuário que utiliza o HttpSession é mais memória do servidor que será utilizada.
O JSF 2.0 vem com um componente muito útil chamado Flash Scope. Esse componente irá manter o objeto até o fim do redirect. Ele funciona como se fosse um Map<String, Objetct> que irá manter o objeto temporariamente na sessão, e que após o objeto ser utilizado sua referência é eliminada. O código abaixo mostra como colocar um objeto dentro do Flash:
// import da classe
importcom.sun.faces.context.flash.ELFlash;
// utilizar antes do redirect
ELFlash.getFlash().put("carro", objeto);
E para utilizar o valor na página após o redirect basta utilizar através de EL: “#{flash.carro.peso}”. Automaticamente a referência ao objeto carro do código acima será removida da memória após ser utilizado na exibição da página.
Outro recurso interessante é manter o objeto por mais tempo na memória do servidor; para utilizar esse recurso basta acessar o objeto do seguinte modo: “#{flash.keep.carro.peso}”. Basta adicionar a palavra “keep” toda vez que a aplicação for acessar o objeto dentro do Flash, pois desse modo a referência desse objeto não será removida (para maiores informações, clique aqui).



Ainda não li tudo, mas pelo que eu já vi estou achando excelente.
Você poderia fazer também um mini livro de JPA.
Marcelo, boa noite.
Já existe aqui no blog um mini livro de JPA. Existe também um chamado Consultas e Dicas só com diversas funções de Pesquisa no JPA.
Até mais.
Parabéns pelo artigo. Esclareceu muitas dúvidas. Sucesso!
Fagner, obrigado pelo apoio. =D
Excelentes artigos! Good Job!
Geverson, obrigado pelo apoio. [=