<fmt:setLocale>-Tag

JSP 标准标签库JSP-Standard-Tag-Bibliothek

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.


JSP 标准标签库JSP-Standard-Tag-Bibliothek

Andere Erweiterungen