JSTL - Tag central <fmt: setLocale>
o <fmt:setLocale> tag é usada para armazenar a localidade fornecida na variável de configuração local.
Atributo
o <fmt:setLocale> tag tem os seguintes atributos -
Atributo | Descrição | Requeridos | Padrão |
---|---|---|---|
Valor | Especifica um código de duas partes que representa o código de idioma ISO-639 e um código de país ISO-3166. | sim | en_US |
variante | Variante específica do navegador | Não | Nenhum |
escopo | Escopo da variável de configuração local | Não | Página |
Exemplo
Os pacotes de recursos contêm objetos específicos do local. Os pacotes de recursos contêm pares de chave / valor. Quando seu programa precisa de um recurso específico da localidade, você mantém todas as chaves comuns a todas as localidades, mas pode traduzir valores específicos para a localidade. Os pacotes de recursos ajudam a fornecer conteúdo específico para a localidade.
Um arquivo de pacote de recursos Java contém uma série de key-to-string mappings. O método em que nos concentramos envolve a criação de classes Java compiladas que estendem ojava.util.ListResourceBundleclasse. Você deve compilar esses arquivos de classe e torná-los disponíveis para o caminho de classe de seu aplicativo da Web.
Vamos definir um pacote de recursos padrão da seguinte maneira -
package com.tutorialspoint;
import java.util.ListResourceBundle;
public class Example_En extends ListResourceBundle {
public Object[][] getContents() {
return contents;
}
static final Object[][] contents = {
{"count.one", "One"},
{"count.two", "Two"},
{"count.three", "Three"},
};
}
Vamos agora definir mais um pacote de recursos que usaremos para o idioma espanhol -
package com.tutorialspoint;
import java.util.ListResourceBundle;
public class Example_es_ES extends ListResourceBundle {
public Object[][] getContents() {
return contents;
}
static final Object[][] contents = {
{"count.one", "Uno"},
{"count.two", "Dos"},
{"count.three", "Tres"},
};
}
Vamos compilar as classes acima Example.class e Example_es_ES.classe disponibilizá-los no CLASSPATH de sua aplicação web. Agora você pode usar as seguintes tags JSTL para exibir os três números da seguinte forma -
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/fmt" prefix = "fmt" %>
<html>
<head>
<title>JSTL fmt:setLocale Tag</title>
</head>
<body>
<fmt:bundle basename = "com.tutorialspoint.Example">
<fmt:message key = "count.one"/><br/>
<fmt:message key = "count.two"/><br/>
<fmt:message key = "count.three"/><br/>
</fmt:bundle>
<!-- Change the Locale -->
<fmt:setLocale value = "es_ES"/>
<fmt:bundle basename = "com.tutorialspoint.Example">
<fmt:message key = "count.one"/><br/>
<fmt:message key = "count.two"/><br/>
<fmt:message key = "count.three"/><br/>
</fmt:bundle>
</body>
</html>
O código acima irá gerar o seguinte resultado -
One
Two
Three
Uno
Dos
Tres
Verifique as tags <fmt: bundle> e <setBundle> para entender o conceito completo.