• Skip to primary navigation
  • Skip to content

Mauda

IT, Java and Music

Graduação   SCJP   Mestrado
  • Apresentação
  • Certificação Java
  • JPA
    • Exceptions
  • JSF
  • Versionamento
  • Contato

Criando arquivos Resource Bundles em um projeto Java

October 8, 2018 by Mauda Leave a Comment

Conteúdo do Post:
  1. Resource Bundles
  2. Criando os arquivos .properties
  3. Obtendo as informações dos arquivos .properties
  4. finally{

Olá Pessoal, tudo bom?

O artigo de hoje vem realizar a configuração dos arquivos de mensagens/rótulos ou também chamados Resource Bundles dentro de uma aplicação Java. Assim como o carregamento desses arquivos dentro do projeto e sua utilização. Veja na continuação…

Resource Bundles

Ao criar uma sistema Java, diversos rótulos, mensagens, textos e outras Strings são criadas, e muitas vezes, essas Strings se repetem em diversos pontos do sistema. Uma forma de reusar esses textos é através dos arquivos com extensão properties, também conhecidos como Resource Bundles. Dessa forma são arquivos que contém as mensagens/rótulos de uma aplicação. São armazenamos como uma tupla label=mensagem em cada linha, onde o label não deve conter caracteres especiais, espaços em branco ou caracteres com acento. Um exemplo de arquivo de resource bundle está descrito abaixo.

Vim
1
2
3
4
5
6
#Mensagens de Erro da Aplicação de Seminarios Cientificos
ER0003=Entidade nula, favor preencher as informações corretamente
ER0010=Nome da Área Cientifica não está preenchida, por favor realize o seu preenchimento.
 
#Mensagens de Sucesso da Aplicação de Seminarios Cientificos
IN0001=Operação realizada com sucesso!

A cerquilha, hashtag (#) possui o papel de linha comentada.

Um detalhe importante a respeito dos arquivos de resource bundle é que uma vez iniciada a aplicação Java as alterações nas informações internas desse arquivo são pertinentes por toda a vida da aplicação. Ou seja, para as alterações que forem realizadas após o inicio da aplicação tenham efeito, é necessário reiniciar a aplicação. O mesmo ocorre para um servidor de aplicação, JBoss por exemplo. Para que as alterações tenham efeito é necessário reiniciar o servidor.

Criando os arquivos .properties

A primeira atividade a ser realizada é criar um package para armazenar os seus arquivos, por exemplo br.com.mauda.seminario.cientificos.view.properties.

Agora vamos criar dois arquivos. O primeiro arquivo de nome messages.properties que terá a responsabilidade de armazenar as mensagens da aplicação. O segundo arquivo de nome labels.properties que terá a responsabilidade de armazenar os rótulos do sistema, nome campo, títulos de telas, entre outros.

Após criado os arquivos, insira algumas mensagens e rótulos nos arquivos:

labels.properties

Java
1
2
3
4
5
#Rotulos da Aplicação de Seminarios Cientificos
areaCientifica=Área Cientifica
index=Página Inicial da aplicação de Seminários Cientificos
nome=Nome
titulo.seminariosAcademicos=Seminários Acadêmicos

messages.properties

Java
1
2
3
4
5
6
#Mensagens de Erro da Aplicação de Seminarios Cientificos
ER0003=Entidade nula, favor preencher as informações corretamente.
ER0010=Nome da Área Cientifica não está preenchida, por favor realize o seu preenchimento.
 
#Mensagens de Sucesso da Aplicação de Seminarios Cientificos
IN0001=Operação realizada com sucesso!

Como pode ser observado no labels.properties é possível adicionar um ponto (.) no label para diferenciar uma informação, como por exemplo, titulo.seminariosAcademicos, indicando que esse label pertence aos titulos.

Obtendo as informações dos arquivos .properties

Para obter as informações dos arquivos properties devem ser utilizadas classes java.util.ResourceBundle. Essas classes armazenam as informações que estão contidas em um determinado arquivo properties através do método getBundle(String nomeArquivo). Existe uma sobrecarga desse método onde é possível indicar o Locale (região do mundo) que deseje recuperar o arquivo. Mas isso fica pra uma outra hora.

O código abaixo indica como recuperar o arquivo messages.properties que foi criado na seção anterior:

Java
1
private static final ResourceBundle messagesRB = ResourceBundle.getBundle("br.com.mauda.seminario.cientificos.view.properties.messages");

Foi adicionado em um atributo static e final, pois pela forma que o arquivo .properties não pode ser alterado durante a execução da aplicação, também o atributo não deveria.

Uma vez carregado o arquivo .properties em um atributo ResourceBundle dois métodos são muito utilizados. O primeiro é o método containsKey(String label), o qual indica se determinado label está presente no arquivo properties. O segundo método getString(String label), o qual recupera a mensagem a partir do label informado. Caso o label não exista é lançada a exception java.util.MissingResourceException.

Abaixo um método que tenta recuperar uma informação do messagesRB criado acima:

Java
1
2
3
4
5
6
7
    public static String getMessage(String mensagem) {
        if (messagesRB.containsKey(mensagem)) {
            return messagesRB.getString(mensagem);
        }
        //Logar no console uma mensagem indicando que não achou o rotulo
        return "";
    }

Fazendo um método com a preocupação acima, sua aplicação não irá quebrar, apenas não exibirá determinado label ou mensagem na tela. Muito melhor do que estourar sua aplicação.

finally{

Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!

Até um próximo post!

Filed Under: Java Tagged With: label, messages, properties, Resource Bundles, ResourceBundle, rótulos

About Mauda

Mestre em Informática, Analista de Sistemas, Professor, SCJP e Baterista. Desde 2002 trabalhando no mundo Java e ensinando pessoas sobre desenvolvimento de sistemas. Mais informações

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisements

Copyright © 2025 · Genesis Framework · WordPress · Log in