English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
<fmt:setLocale>-Tag wird verwendet, um den angegebenen Bereich im locale-Konfigurationsvariable zu speichern.
<fmt:setLocale value="<string>" variant="<string>" scope="<string>"/>
<fmt:setLocale> hat die folgenden Attribute:
Eigenschaft | Beschreibung | Wichtig | Standardwert |
---|---|---|---|
Wert | ISO angeben-639 Sprachcode und ISO-3166 Landcode | Ja | en_US |
Variante | Spezifische Browser-Variante | Nein | Kein |
Bereich | Bereich der Locale-Konfigurationsvariablen | Nein | Seite |
Ressourcenbündel enthalten locale-spezifische Objekte. Ressourcenbündel enthalten Schlüssel-Wert-Paare. Wenn Ihr Programm locale-spezifische Ressourcen benötigt, können alle Schlüssel-Wert-Paare für alle Locales gemeinsam genutzt werden, aber auch spezifische Werte für die Locale angegeben werden. Ressourcenbündel können dabei helfen, das für die Locale bestimmte Inhalt bereitzustellen.
Eine Java-Ressourcenbündel-Datei enthält eine Reihe von Schlüssel-Wert-Paaren. Die Methoden, die wir betrachten, betreffen die Erstellung von kompilierten Java-Klassen, die von java.util.ListResourceBundle abgeleitet sind. Sie müssen diese Klassen kompilieren und auf dem CLASSPATH Ihrer Webanwendung ablegen.
Lassen Sie uns einen Standard-Ressourcenbündel definieren:
package com.w;3codebox; 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 einen Ressourcenbündel, der für die spanische Locale bestimmt ist:
package com.w;3codebox; 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 folgenden Dateien in Examble.class und Examble_es_ES.class und legen Sie sie auf dem CLASSPATH der Webanwendung ab. Jetzt können Sie die 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-Tag</<title> </<head> <body> <fmt:bundle basename="com.w3codebox.Example"> <fmt:message key="count.one">/><br/> <fmt:message key="count.two">/><br/> <fmt:message key="count.three">/><br/> </fmt:bundle> <!-- Region ändern--> <fmt:setLocale value="es_ES">/> <fmt:bundle basename="com.w3codebox.Example"> <fmt:message key="count.one">/><br/> <fmt:message key="count.two">/><br/> <fmt:message key="count.three">/><br/> </fmt:bundle> </body> </html>
Das Laufergebnis ist wie folgt:
Eins Zwei Drei Eins Zwei Drei
Ansehen<fmt:bundle>und<setBundle>um mehr Informationen zu erhalten.