JSF, Início Rápido – Parte 3
Autor: Reinaldo Elias | Publicado: 2011-02-19T12:41:00-08: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 = valor1
variavel_nome2.variavel_sobrenome.variavel_maisumnome = valor2
variavel_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ápido
pagina_principal_label_site=http://codeerror.wordpress.com
pagina_principal_label_link=Página de Cadastro
##### Textos da página de cadastro #####
pagina_cadastro_label_titulo=JSF Inicio Rápido
pagina_cadastro_label_site=http://codeerror.wordpress.com
pagina_cadastro_label_nome=Nome
pagina_cadastro_label_email=E-mail
pagina_principal_botao_ok=Ok
#### Textos da página Sucesso ####
pagina_sucesso_label_titulo=Cadastro efetuado com sucesso!!!
pagina_sucesso_label_site=http://codeerror.wordpress.com
pagina_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.com
pagina_falha_label_texto=Acho que você não preencheu os campos na página anterior, por favor preencha!
pagina_falha_botao_voltar=Tentar novamenteEste 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).