Você está aqui: JSF - Java Server Faces ::: Pacote javax.faces.context ::: Flash |
Aprenda a usar a classe Flash em suas aplicações JSFQuantidade de visualizações: 3072 vezes |
Um objeto da classe Flash fornece formas de passar objetos temporários entre as views (visões) do usuário geradas pelo ciclo de vida do JSF. Em outras palavras, um objeto Flash pode ser preenchido em uma requisição e usada na próxima. Seu conceito foi obtido a partir do framework Ruby on Rails. Veja sua posição na hierarquia de classes do Java Server Faces: java.lang.Object extended by javax.faces.context.Flash Um objeto Flash pode ser obtido por meio de uma chamada ao método getFlash() da classe ExternalContext. Veja um trecho de código no qual usamos um objeto Flash no método salvarLivro() de um controller JSF (marcado como @ManagedBean e @SessionScoped): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // é chamado a partir do botão Gravar da página cadastrarLivro.xhtml // e, após salvar o livro na tabela do banco de dados // redireciona para sucessoCadastrarLivro.xhtml public String salvarLivro() throws Exception { LivroDAO dao = new LivroDAO(); dao.gravarLivro(this.getLivro()); // vamos obter um objeto da classe Flash // import javax.faces.context.ExternalContext; // import javax.faces.context.Flash; // import javax.faces.context.FacesContext; FacesContext context = FacesContext.getCurrentInstance(); ExternalContext eContext = context.getExternalContext(); Flash flash = eContext.getFlash(); flash.put("aviso", "O livro foi cadastrado com sucesso."); return "/sucessoCadastrarLivro"; } Note que as quatro linhas que usei para colocar a mensagem no Flash podem ser abreviadas para apenas uma. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- FacesContext.getCurrentInstance().getExternalContext().getFlash().put( "aviso", "O livro foi cadastrado com sucesso."); Ao fazer isso nós dispensamos os imports javax.faces.context.ExternalContext e javax.faces.context.Flash (precisando manter apenas javax.faces.context.FacesContext). Veja agora como exibir a mensagem do Flash na página sucessoCadastrarLivro.xhtml: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <h:body> <p><b><h:outputText value="#{flash.aviso}" /></b></p> <h:form> <h:commandLink action="#{livroController.novoLivro()}" value="Cadastrar Novo Livro"/> </h:form> </h:body> Nas páginas JSF (JSP ou Facelets) um objeto Flash é referenciado pela variável flash. Ao executar o método salvarLivro() e carregar a nova página, uma mensagem "O livro foi cadastrado com sucesso." será exibida. É importante observar que o conteúdo colocado em um objeto Flash é removido tão logo a nova requisição é concluída. Veja em dicas desta seção como manter o conteúdo do flash por mais de uma requisição. |
Link para compartilhar na Internet ou com seus amigos: |
Veja mais Dicas e truques de JSF - Java Server Faces |
Dicas e truques de outras linguagens |
VisuAlg - Como calcular o coeficiente angular de uma reta em VisuAlg dados dois pontos no plano cartesiano Portugol - Como resolver uma equação do segundo grau em Portugol - Como calcular Bhaskara em Portugol |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |