<fmt:bundle>-Tag
Das <fmt:bundle>-Tag macht das angegebene Resource-Bundle für <fmt:message>-Tags verfügbar, die innerhalb des <fmt:bundle>-Tags erscheinen. Dies kann Ihnen viele Schritte beim Angeben des Resource-Bundles für jedes <fmt:message>-Tag ersparen.
Zum Beispiel erzeugen die folgenden beiden <fmt:bundle>-Blöcke dieselbe Ausgabe:
<fmt:bundle basename="com.example.Example">
<fmt:message key="count.one"/>
</fmt:bundle>
<fmt:bundle basename="com.example.Example" prefix="count.">
<fmt:message key="title"/>
</fmt:bundle>
Syntaxformat
<fmt:bundle baseName="<string>" prefix="<string>"/>
Attribute
Das <fmt:bundle>-Tag hat die folgenden Attribute:
| Attribute | Beschreibung | Erforderlich | Standardwert |
|---|---|---|---|
| basename | Gibt den Basisnamen des zu ladenden Ressourcenbündels an | Ja | Keine |
| Präfix | Gibt das Präfix für das key-Attribut des <fmt:message>-Tags an | nein | Keine |
Programmbeispiel
Ressourcenbündel enthalten Locale-spezifische Objekte. Ressourcenbündel enthalten Schlüssel-Wert-Paare. Wenn Ihr Programm Locale-spezifische Ressourcen benötigt, können Sie alle Schlüssel über alle Locales hinweg gemeinsam nutzen, aber Sie können auch übersetzte Werte für das Locale angeben. Ressourcenbündel können helfen, Inhalte bereitzustellen, die für ein Locale spezifisch sind.
Eine Java-Ressourcenbündel-Datei enthält eine Reihe von Schlüssel-Wert-Paaren. Die Methode, um die es uns geht, beinhaltet das Erstellen kompilierter Java-Klassen, die die Klasse java.util.ListResourceBundle erweitern. Sie müssen diese Klassen kompilieren und sie im CLASSPATH Ihrer Webanwendung ablegen.
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"},
};
}
Kompilieren Sie die obige Datei zu Example.class und platzieren Sie sie dann dort, wo der CLASSPATH Ihrer Webanwendung sie finden kann. Jetzt können Sie JSTL verwenden, um diese drei Zahlen wie folgt anzuzeigen:
<%@ 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:bundle 标签</title>
</head>
<body>
<fmt:bundle basename="com.example.Example" prefix="count.">
<fmt:message key="one"/><br/>
<fmt:message key="two"/><br/>
<fmt:message key="three"/><br/>
</fmt:bundle>
</body>
</html>
Die Ausgabe sieht wie folgt aus:
One Two Three
Ändern Sie es so, dass es kein Präfix-Attribut hat:
<%@ 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:bundle 标签</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>
</body>
</html>
Die Ausgabe sieht wie folgt aus:
One Two Three
Sie können<fmt:setLocale>und<fmt:setBundle>ansehen, um weitere Informationen zu erhalten.
Andere Erweiterungen
JSP-Standard-Tag-Bibliothek