English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die <fmt:bundle>-Schaltfläche macht das angegebene Ressourcenbündel für die <fmt:message>-Schaltflächen innerhalb der <fmt:bundle>-Schaltfläche verfügbar. Dies kann viele Schritte sparen, bei denen für jede <fmt:message>-Schaltfläche das Ressourcenbündel angegeben werden muss.
Zum Beispiel erzeugen die folgenden zwei <fmt:bundle>-Blöcke denselben Ausgang:
<fmt:bundle basename="com.w3codebox.Example"> <fmt:message key="count.one"/> </fmt:bundle> <fmt:bundle basename="com.w3codebox.Example" prefix="count."> <fmt:message key="title"/> </fmt:bundle>
<fmt:bundle baseName="<string>" prefix="<string>"/>
Die <fmt:bundle>-Schaltfläche hat folgende Attribute:
Eigenschaft | Beschreibung | Notwendig | Standardwert |
---|---|---|---|
basename | Basisname der geladenen Ressourcenbündel angeben | Ja | Nein |
prefix | Präfix für das Attribut key der <fmt:message>-Schaltfläche angeben | Ja | Nein |
Ressourcenbündel enthalten regionsspezifische Objekte. Ressourcenbündel enthalten Schlüssel-Wert-Paare. Wenn Ihr Programm regionsspezifische Ressourcen benötigt, können alle Schlüssel-Wert-Paare für alle Locale geteilt werden, aber es kann auch für Locale umgewandelte Werte spezifiziert werden. Ressourcenbündel können dabei helfen, Inhalte für eine bestimmte Locale bereitzustellen.
Eine Java-Ressourcenbündel-Datei enthält eine Reihe von Schlüssel-Wert-Paaren. Die Methoden, die wir betrachten, betreffen die Erstellung kompilierter Java-Klassen, die von java.util.ListResourceBundle abgeleitet sind. Sie müssen diese Klassen kompilieren und in den CLASSPATH Ihrer Webanwendung legen.
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"}, }; }
Kompilieren Sie die folgenden Dateien in Example.class und legen Sie sie an einem Ort ab, den die CLASSPATH der Webanwendung finden kann. Jetzt können Sie JSTL 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:bundle Tag</title> </head> <body> <fmt:bundle basename="com.w3codebox.Example" prefix="count."> <fmt:message key="one">/><br/> <fmt:message key="two"/><br/> <fmt:message key="three"/><br/> </fmt:bundle> </body> </html>
Das Laufzeitergebnis ist wie folgt:
One Two Three
Setzen Sie es so um, dass das Attribut prefix fehlt:
<%@ 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 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> </body> </html>
Das Laufzeitergebnis ist wie folgt:
One Two Three
können Sie überprüfen<fmt:setLocale>und<fmt:setBundle>um mehr Informationen zu erhalten.