JSF Mini Livro – Dicas, conceitos e boas práticas

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).

79 Thoughts on “JSF Mini Livro – Dicas, conceitos e boas práticas

  1. Marcelo on May 2, 2013 at 12:09 am said:

    Ainda não li tudo, mas pelo que eu já vi estou achando excelente.
    Você poderia fazer também um mini livro de JPA.

    • uaihebert on May 2, 2013 at 9:13 pm said:

      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.

  2. Fagner on April 30, 2013 at 5:03 pm said:

    Parabéns pelo artigo. Esclareceu muitas dúvidas. Sucesso!

  3. Geverson R. Sarmento on April 24, 2013 at 2:49 pm said:

    Excelentes artigos! Good Job!

Comment navigation

 

Leave a Reply

Post Navigation