PASSO ANTERIOR (PARTE 2).Se voce chegou ate aqui acho que voce ja leu a introducao, e a parte 2 do tutorial de JSF.Presumindo que estas tarefas ja estejam feitas, as pastas e o bean criados, e hora de falar do arquivo messages.properties. Este arquivo e utilizado abrangentemente, em varios frameworks, nao somente em JSF. Mas afinal pra serve este bendito arquivo?Este arquivo nada mais e que algum txt, que contem nomes de variaveis e seus conteudos, ele nem ao menos precisa ter esse nome, poderia ser sorvetechocolate.properties, tambem funcionaria, porem como tudo em java precisa seguir certos padroes de programacao, principalmente para futuras manutencoes, este nome foi adotado. O arquivo funciona da seguinte maneira:variavel_nome1.variavel_sobrenome.variavel_maisumnome = valor1variavel_nome2.variavel_sobrenome.variavel_maisumnome = valor2variavel_nome3.variavel_sobrenome.variavel_maisumnome = valor3Em suas paginas, ao inves de escrever os textos diretamente no JSP voce importa estas variaveis do messages.properties, e assim o texto e escrito na pagina, sem ter sido inserido diretamente entre as tags html.Isso e util por que?Para manutencoes, por exemplo, o telefone do PABX da empresa mudou, se voce nao estiver utilizando algum messages.properties ou similares, provavelmente voce tera que abrir pagina por pagina e alterar todos os telefones, e e quase certeza que alguma pagina ira passar em branco, porem se voce estiver utilizando o messages.properties, e mapeando a variavel telefone.pabx, basta alterar o valor desta variavel no messages.properties e pronto! Todas as paginas serao atualizadas, sem complicacoes.Internacionalizacao, digamos que sua empresa tem um portal, todo gerenciavel, em determinado dia acionistas estrangeiros compram acoes da sua empresa e querem o site em ingles. Se voce nao estiver utilizando algum mapeamento de textos como o messages.properties, provavelmente vai ter que abrir pagina por pagina, coletar texto por texto e traduzir cada um, compilar o site inteiro novamente, mas com o messages.properties devidamente configurado e utilizado isso nao sera preciso, e o tempo para traduzir o site sera muito pequeno, alias, nao demandara tempo algum, basta anexar o messages.properties no e-mail e enviar para o departamento responsavel e informar Aqui estao todos os textos do site, traduz ai que eu vou pra casa descansar.Agora que ja sabemos o que e, como funciona e pra que serve este famoso quebra-galhos, messages.properties, podemos configura-lo em nossa aplicacao.Na parte 2 deste tutorial criamos o arquivo messages.properties dentro do pacote br.com.projetox.view.bundle, mas nao colocamos nenhum conteudo nele.Abra o arquivo messages.properties e insira as seguintes linhas de codigo:##### Textos da Pagina Principal #####pagina_principal_label_titulo=JSF Inicio Rapidopagina_principal_label_site=http://codeerror.wordpress.compagina_principal_label_link=Pagina de Cadastro##### Textos da pagina de cadastro #####pagina_cadastro_label_titulo=JSF Inicio Rapidopagina_cadastro_label_site=http://codeerror.wordpress.compagina_cadastro_label_nome=Nomepagina_cadastro_label_email=E-mailpagina_principal_botao_ok=Ok#### Textos da pagina Sucesso ####pagina_sucesso_label_titulo=Cadastro efetuado com sucesso!!!pagina_sucesso_label_site=http://codeerror.wordpress.compagina_sucesso_label_texto=Parabens, o projeto JSF Inicio Rapido esta dando resultados!pagina_sucesso_botao_voltar=Voltar#### Textos da pagina Falha ####pagina_falha_label_titulo=Falha ao realizar o cadastro...pagina_falha_label_site=http://codeerror.wordpress.compagina_falha_label_texto=Acho que voce nao preencheu os campos na pagina anterior, por favor preencha!pagina_falha_botao_voltar=Tentar novamenteEste arquivo esta totamemte intuitivo, os nomes das variaveis foram criados com base em nome da pagina, tipo de texto e nome do campo.Por exemplo a primeira linha:pagina_principal_label_titulo= JSF Inicio Rapidopagina_principal_label_titulo e o nome da variavel, este nome que invocaremos nas paginas JSP da aplicacao.JSF Inicio Rapido e o valor da variavel, este que sera apresentado na tela sempre que a variavel for solicitada.Os textos