Quem usa struts, o framework para aplicações java. Já deve conhecer o arquivo geralmente chamado de ApplicationResource.properties
Este arquivo pode ser útil tanto para armazenar informações de configuração do sistema, como para se trabalhar com internacionalização de páginas.
Vou mostrar como se trabalhar com diversos arquivos properties no mesmo projeto, vejamos:
Vamos criar 4 (quatro) arquivos properties, para usar 3 (três).
ApplicationResources_pt_BR.properties
ApplicationResources_en_US.properties
ErrosApplication.properties
ConfigApplicatioin.properties
Por que eu digo que iremos usar apenas 3? Veja que 2 arquivos possuem o mesmo nome, alterando apenas o final da string conforme localização pt_BR e en_US, este arquivo é que será usado para fazer a internacionalização de conteúdo, por isso usaremos um ou outro.
No seu arquivo struts-config.xml, onde você faz a importação dos arquivos properties, vamos nomear cada um deles. (essa mportação pode ser separada em diversos arquivos struts-configs).
<message-resources parameter="br.com.projeto.propriedades.ErrosApplication" />
<message-resources key="sis" parameter="br.com.projeto.propriedades.ApplicationResources" />
<message-resources key="cfg" parameter="br.com.projeto.propriedades.ConfigApplication" />
Preste atenção aos detalhes dessa importação. Dois arquivos possuem o parametro “key“. E o arquivo ApplicationResources não possui a identificação de localização.
O parametro key serve para identificarmos no sistema a qual arquivo estamos nos referindo. Mas então por que um deles não tem key?
Simples, porque não iremos fazer referência a este arquivo. Mas então por que cria-lo? Porque o struts (estou me referindo a versão 1.x) precisa ler um arquivo properties padrão, que não tenha um parametro key. Ele usa apenas para capturar as mensagens de erro usadas no arquivo validation.xml
Então este arquivo que não possui chave, e tem o nome de ErrosApplication, vai ter um conteúdo mais ou menos assim:
errors.required = Campo {0} deve ser preenchido.
Já o arquivo com chave “sis” nomeado de ApplicationResources, este o struts irá localizar e concatenar seu nome com o idioma utilizado. No nosso caso com pt_BR, e assim irá localizar o arquivo. Se durante a aplicação você alterar o idioma para inglês, ele irá localizar o arquivo properties en_US e mudar todas as mensagens da página que estiverem configuradas no arquivo.
ApplicationResources_pt_BR.properties
msg.welcome = Seja bem vindo ao site
ApplicationResources_en_US.properties
msg.welcome = Welcome to my site
Veja que os dois arquivos contem as mesmas variáveis, apenas muda seu valor conforme o idioma.
Para usar o conteúdo dinâmico no site lembre-se de informar o key.
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<bean:message bundle="sis" key="msg.welcome" />
E para usar o arquivo para guardar configurações fica a mesma coisa ConfigResources:
mail.user = usuario@email.com
Você já viu como capturar esta informação de dentro da sua jsp, agora vamos ver como capturar dentro da sua classe java.
ResourceBundle resourceConfig = ResourceBundle.getBundle("br.com.projeto.propriedades.ConfigResources");
String email = resourceConfig.getString("mail.user").trim();
Existem outras formas de ler o arquivo properties dentro da sua classe, mas essa parece ser a mais simples.
A primeira vista parece algo complicado, mas se você seguir o passo a passo vai perceber que o processo é simples e funcional. Então, mãos a obra!
Loading...