English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

<fmt:setLocale>-Tag

JSP-Standard-Tag-Bibliothek

<fmt:setLocale>-Tag wird verwendet, um den angegebenen Bereich im locale-Konfigurationsvariable zu speichern.

Syntaxformat

<fmt:setLocale value="<string>" variant="<string>" scope="<string>"/>

Eigenschaft

<fmt:setLocale> hat die folgenden Attribute:

EigenschaftBeschreibungWichtigStandardwert
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

Programmbeispiel

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.

JSP-Standard-Tag-Bibliothek