JSF, Início Rápido – Parte 3
Autor: Reinaldo Elias | Publicado: 2011-02-19T18:41:00-02:00

PASSO ANTERIOR (PARTE 2).

Se você chegou até aqui acho que você já leu a introdução, e a parte 2 do tutorial de JSF.
Presumindo que estas tarefas já estejam feitas, as pastas e o bean criados, é hora de falar do arquivo messages.properties.&nbsp;
Este arquivo é utilizado abrangentemente, em vários frameworks, não somente em JSF. Mas afinal pra serve este bendito arquivo?

Este arquivo nada mais é que algum txt, que contém nomes de váriáveis  e seus conteúdos, ele nem ao menos precisa ter esse nome, poderia ser sorvetechocolate.properties,  também funcionaria, porém como tudo em java precisa seguir certos  padrões de programação, principalmente para futuras manutenções, este  nome foi adotado.&nbsp;
O arquivo funciona da seguinte maneira:

variavel_nome1.variavel_sobrenome.variavel_maisumnome = valor1variavel_nome2.variavel_sobrenome.variavel_maisumnome = valor2variavel_nome3.variavel_sobrenome.variavel_maisumnome = valor3

Em suas páginas, ao invés de escrever os textos diretamente no JSP  você importa estas “variáveis” do messages.properties, e assim o texto é  escrito na página, sem ter sido inserido diretamente entre as tags  html.

Isso é útil por que?
Para manutenções,  por exemplo, o telefone do PABX da empresa mudou, se você não estiver  utilizando algum “messages.properties” ou similares, provavelmente você  terá que abrir página por página e alterar todos os telefones, e é quase  certeza que alguma página irá passar em branco, porém se você estiver  utilizando o messages.properties, e mapeando a variável “telefone.pabx”,  basta alterar o valor desta variável no messages.properties e pronto!  Todas as páginas serão atualizadas, sem complicações.

Internacionalização,  digamos que sua empresa tem um portal, todo gerenciavel, em determinado  dia acionistas estrangeiros compram ações da sua empresa e querem o  site em inglês. Se você não estiver utilizando algum mapeamento de  textos como o messages.properties, provavelmente vai ter que abrir  página por página, coletar texto por texto e traduzir cada um, compilar o  site inteiro novamente, mas com o messages.properties devidamente  configurado e utilizado  isso não será preciso, e o tempo para traduzir o site será muito  pequeno, aliás, não demandará tempo algum, basta anexar o  messages.properties no e-mail e enviar para o departamento responsável e  informar “Aqui estão todos os textos do site, traduz ai que eu vou pra  casa descansar”.

Agora que ja sabemos o que é, como funciona e pra que serve este  famoso quebra-galhos, messages.properties, podemos configurá-lo em nossa  aplicação.
Na parte 2 deste tutorial criamos o arquivo messages.properties dentro do pacote br.com.projetox.view.bundle, mas não colocamos nenhum conteúdo nele.Abra o arquivo messages.properties e insira as seguintes linhas de código:

##### Textos da Página Principal #####pagina_principal_label_titulo=JSF Inicio Rápidopagina_principal_label_site=http://codeerror.wordpress.compagina_principal_label_link=Página de Cadastro
##### Textos da página de cadastro #####pagina_cadastro_label_titulo=JSF Inicio Rápidopagina_cadastro_label_site=http://codeerror.wordpress.compagina_cadastro_label_nome=Nomepagina_cadastro_label_email=E-mailpagina_principal_botao_ok=Ok
#### Textos da página Sucesso ####pagina_sucesso_label_titulo=Cadastro efetuado com sucesso!!!pagina_sucesso_label_site=http://codeerror.wordpress.compagina_sucesso_label_texto=Parabéns, o projeto JSF Inicio Rápido está dando resultados!pagina_sucesso_botao_voltar=Voltar
#### Textos da página Falha ####pagina_falha_label_titulo=Falha ao realizar o cadastro…pagina_falha_label_site=http://codeerror.wordpress.compagina_falha_label_texto=Acho que você não preencheu os campos na página anterior, por favor preencha!pagina_falha_botao_voltar=Tentar novamente
Este arquivo está totamemte intuitivo, os nomes das variáveis  foram criados com base em nome da página, tipo de texto e nome do campo.Por exemplo a primeira linha:pagina_principal_label_titulo= JSF Inicio Rápido
pagina_principal_label_titulo é o nome da variável, este nome que invocaremos nas páginas JSP da aplicação.JSF Inicio Rápido  é o valor da variável, este que será apresentado na tela sempre que a variável for solicitada.

Os textos precedidos por sustenido (#) são comentários, que inseri  para separar mais ainda as variáveis, facilitando futuras manutenções no  código.
Agora podemos criar as páginas JSP da aplicação, mas isso fica pra outro post.


PRÓXIMO PASSO (PARTE 4).