Cursos / Informática para Internet / Desenvolvimento Web I / Aula
A biblioteca I18N implementa funcionalidades que nos ajuda a construir sistemas Web internacionalizáveis, ou seja, cujas mensagens mostradas são configuradas de acordo com a localidade ou preferências do usuário. Essas funcionalidades são importantes, quando se deseja construir uma aplicação que será usada em diferentes idiomas, como veremos nos exemplos mais adiante.
O quadro a seguir mostra as principais funções da I18N.
Área | Funcionalide | Tags | Prefixo |
I18N | Definição de Localidade | setLocale | fmt |
Mensagens | bundle message param setBundle |
||
Formatação | formatNumber formatDate |
O nome I18N vem de Internationalization (em português, internacionalização), que começa com I, termina com N e tem 18 letras intermediárias. Nome grande, não é?
Comecemos nossos estudos pela tag de definição de localidade fmt:setLocale. Essa tag permite definir qual locale (combinação de idioma e região) será usado para exibir os itens sensíveis à localidade. O Locale será definido dentro dos seguintes escopos: a página (escopo padrão); a requisição; a sessão; ou a aplicação. A tag fmt:setLocale sobrescreve o Locale definido pelo browser do usuário, ou seja, mesmo que o browser do usuário esteja configurado com o Locale en_US (inglês dos Estados Unidos), por exemplo, nós podemos usar a tag fmt:setLocale para definir a localidade para pt_BR (português do Brasil) e a configuração do browser será ignorada. Note que a String da localidade é formada por 5 caracteres, dois que indicam o idioma, um separador “_” e o país. Isso é necessário, pois o mesmo idioma pode variar de país para país (português do Brasil e de Portugal, inglês dos Estados Unidos e da Inglaterra, etc.).
A Listagem 1 apresenta o uso da tag fmt:setLocale da taglib fmt
Listagem 1 - Código JSP que define o idioma da página JSP para inglês americano.Um detalhe que vale a pena mencionar é que a tag fmt:setLocale é uma tag de configuração, logo, o seu corpo deve ser deixado vazio e seu escopo pode ser mais abrangente que apenas uma página. Note também que é necessário utilizar no início da página o código: <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> para indicar que também se deseja utilizar a taglib “fmt”, necessária para o i18N.
Uma vez que explicamos a funcionalidade dessa tag, vamos, agora, mostrar e explicar cada um dos seus atributos.
Atributo | Descrição | Obrigatório | Valor default |
value | String ou expressão que, quando avaliada, resulta em uma String ou java.util.Locale. | Sim | |
scope | Escopo onde a variável que representa o Locale será armazenada. | Não | Página |
Na Listagem 1, vimos o uso do atributo value que pode ser uma String, como, por exemplo, pt_BR, ou uma expressão que será avaliada para Java.lang.String ou Java.util.Locale. O atributo scope já é um velho conhecido nosso e tem a mesma característica que vimos antes.
Versão 5.3 - Todos os Direitos reservados