LucasAllan.com

Month

June 2009

1 post

Criando uma classe mensageira em JSF

Uma coisa que sempre gosto de fazer quando estou programando usando JSF, é criar uma classe mensageira para facilitar o trabalho com mensagens (de erro, informação e etc..).

Essa classe, me livra do trabalho de:

  • Obter repetidamente o FacesContext.
  • Criar repetidamente o objeto FacesMessage.
  • Escrever repetidamente as mensagens.
Pode parecer pouco, mas imagina você ter que repetir isso todas as vezes que precisar adicionar uma mensagem para o usuário. Segue abaixo a implementação:

Agora criaremos um arquivo chamado “messages.properties” dentro da raiz da aplicação, onde poderemos definir as mensagens da nossa aplicação, bem como chaves para poder utiliza-las. O conteúdo desse arquivo consiste em: chave = valor Exemplo: bdError = Erro ao acessar banco de dados! Quando precisarmos utilizar nosso mensageiro, basta usar: Mensageiro.errorMsg(“bdError”); E nossa classe irá procurar dentro do messages.properties um valor que tenha como chave “bdError”, no nosso exemplo ele adicionaria a mensagem “Erro ao acessar banco de dados!” ao nosso contexto. Bem simples né? Bom, agora iremos entender a nossa classe mensageira:
  1. Primeiro nós temos o objeto estático ResourceBundle que utilizaremos para efetuar as buscas das mensagens através dos valores passado no arquivo messages.properties. Repare que eu passo o nome do arquivo sem a extensão .properties e a localização dele, no nosso caso utilizamos o método getViewRoot do FacesContext para obter a localização. O interessante é que todas essas mensagens possuem suporte a internacionalização, você pode definir dentro do messages.properties mensagens personalizadas para cada locale, por isso utilizamos o método getLocale.
  2. Os métodos: infoMsg e errorMsg são os responsáveis pelas mensagens, recebem como parâmetro uma string, que será utilizada como chave para encontrar o valor da mensagem.
  3. Na linha seguinte ele faz com que a variável ‘msg’ que antes possuía a chave receba como valor a própria mensagem que é buscada através do método getString do objeto ResourceBundle.
  4. Nas próximas linhas não tem muito o que explicar, crio o objeto FacesMessage com a mensagem conseguida anteriormente, obtenho a instancia do FacesContext e adiciona a mensagem.
  5. E fim, você está pronta p usar o seu mensageiro.
Espero que possa ajudar vocês a tornar o desenvolvimento do seus sistemas menos repetitivo e mais divertido. Quem quiser saber mais sobre jsf
Jun 11, 2009
#Java #JSF #Dicas #Java
Next page →
2012 2013
  • January 2
  • February
  • March 1
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2011 2012 2013
  • January 1
  • February 1
  • March 1
  • April 2
  • May
  • June 1
  • July
  • August
  • September
  • October
  • November
  • December
2010 2011 2012
  • January 1
  • February
  • March
  • April
  • May
  • June
  • July
  • August 1
  • September 1
  • October 3
  • November
  • December 5
2009 2010 2011
  • January 1
  • February 1
  • March 1
  • April 1
  • May
  • June 1
  • July 1
  • August 3
  • September
  • October
  • November 2
  • December 2
2008 2009 2010
  • January 2
  • February 1
  • March 1
  • April 1
  • May 2
  • June 1
  • July 2
  • August 3
  • September
  • October
  • November 2
  • December 2
2008 2009
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October 4
  • November
  • December