<fmt:setLocale>-Tag
Das <fmt:setLocale>-Tag wird verwendet, um das angegebene Locale in der Locale-Konfigurationsvariable zu speichern.
Syntaxformat
<fmt:setLocale value="<string>" variant="<string>" scope="<string>"/>
Attribute
Das <fmt:setLocale>-Tag hat die folgenden Attribute:
| Attribute | Beschreibung | Erforderlich | Standardwert |
|---|---|---|---|
| value | Gibt den ISO-639-Sprachcode und den ISO-3166-Ländercode an | Ja | en_US |
| variant | Browserspezifische Variante | nein | Keine |
| scope | Gültigkeitsbereich der Locale-Konfigurationsvariable | nein | Page |
Programmbeispiel
Resource-Bundles enthalten locale-spezifische Objekte. Resource-Bundles enthalten Schlüssel-Wert-Paare. Wenn Ihr Programm locale-spezifische Ressourcen benötigt, können Sie alle Schlüssel-Wert-Paare über alle Locales hinweg gemeinsam nutzen, aber Sie können auch übersetzte Werte für eine Locale angeben. Resource-Bundles helfen dabei, locale-spezifische Inhalte bereitzustellen.
Eine Java-Resource-Bundle-Datei enthält eine Reihe von Schlüssel-Wert-Paaren. Die Methode, die uns interessiert, beinhaltet das Erstellen kompilierter Java-Klassen, die von der Klasse java.util.ListResourceBundle erben. Sie müssen diese Klassen kompilieren und sie in den CLASSPATH Ihrer Webanwendung legen.
Definieren wir ein Standard-Ressourcenbündel:
package com.example;
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"},
};
}
Definieren Sie nun ein weiteres Resource-Bundle für die spanische Locale:
package com.example;
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"},
};
}
Kompilieren Sie die obigen Dateien zu Examble.class und Examble_es_ES.class und legen Sie sie dann in den CLASSPATH der Webanwendung. Jetzt können Sie JSTL-Tags verwenden, um diese drei Zahlen anzuzeigen, wie folgt:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ 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 标签</title>
</head>
<body>
<fmt:bundle basename="com.example.Example">
<fmt:message key="count.one"/><br/>
<fmt:message key="count.two"/><br/>
<fmt:message key="count.three"/><br/>
</fmt:bundle>
<!-- 修改地区-->
<fmt:setLocale value="es_ES"/>
<fmt:bundle basename="com.example.Example">
<fmt:message key="count.one"/><br/>
<fmt:message key="count.two"/><br/>
<fmt:message key="count.three"/><br/>
</fmt:bundle>
</body>
</html>
Die Ausgabe sieht wie folgt aus:
One Two Three Uno Dos Tres
Siehe<fmt:bundle>und<setBundle>für weitere Informationen.
Andere Erweiterungen
JSP-Standard-Tag-Bibliothek