JSTL - Tag Core <fmt: setLocale>
Il <fmt:setLocale> tag viene utilizzato per memorizzare la locale specificata nella variabile di configurazione della locale.
Attributo
Il <fmt:setLocale> tag ha i seguenti attributi:
Attributo | Descrizione | necessario | Predefinito |
---|---|---|---|
Valore | Specifica un codice in due parti che rappresenta il codice lingua ISO-639 e un codice paese ISO-3166. | sì | en_US |
variante | Variante specifica del browser | No | Nessuna |
scopo | Ambito della variabile di configurazione locale | No | Pagina |
Esempio
I bundle di risorse contengono oggetti specifici della locale. I pacchetti di risorse contengono coppie chiave / valore. Quando il programma necessita di una risorsa specifica della locale, si mantengono tutte le chiavi comuni a tutte le impostazioni locali ma è possibile avere valori tradotti specifici per la locale. I pacchetti di risorse aiutano a fornire contenuti specifici per le impostazioni internazionali.
Un file bundle di risorse Java contiene una serie di file key-to-string mappings. Il metodo su cui ci concentriamo prevede la creazione di classi Java compilate che estendono l'estensionejava.util.ListResourceBundleclasse. È necessario compilare questi file di classe e renderli disponibili al percorso di classe dell'applicazione Web.
Definiamo un pacchetto di risorse predefinito come segue:
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"},
};
}
Definiamo ora un altro pacchetto di risorse che useremo per le impostazioni internazionali spagnole -
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"},
};
}
Compiliamo le classi precedenti Example.class e Example_es_ES.classe renderli disponibili nel CLASSPATH della tua applicazione Web. È ora possibile utilizzare i seguenti tag JSTL per visualizzare i tre numeri come segue:
<%@ 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>
Il codice sopra genererà il seguente risultato:
One
Two
Three
Uno
Dos
Tres
Controlla i tag <fmt: bundle> e <setBundle> per comprendere il concetto completo.