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

Evite colocar lógica nas páginas

Em geral as páginas exibidas para os usuários contêm limitações para cada tipo de usuário (administrador, gerente,…), são as chamadas “View Rules (Regras da View)”; essas regras definem qual comportamento o componente terá: limitar a informação que o usuário terá acesso, exibir uma mensagem ou bloquear algum botão.

Para os componentes JSF existe uma opção chamada “rendered” que é bem similar ao “visible” que é utilizada em componentes de outras linguagens. Basta definir o “rendered=false” que esse componente não será exibido para o usuário.

Com a facilidade para acessar aos valores dos atributos de um ManagedBean ficamos tentados a fazer o seguinte código: rendered=”#{pessoasMB.total == 5}”. Bem simples e legível; sabemos que o componente será renderizado apenas se o total for igual a 5. Agora imagine se outros 15 componentes têm a mesma condição espalhada por diversas páginas, qual seria o trabalho para mudar a regra de visualização para rendered=”#{pessoasMB.total == 6}”?

É sempre uma boa prática deixar suas regras de view no seu ManagedBean. Basta criar um método que retorne uma variável boolean. O código abaixo mostra como seria o método.Veja ficaria o código na página: rendered=”#{pessoasMB.totalAlcancado}”.

public boolean isTotalAlcancado(){
    return total == 6;
}

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