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

fmt:bundle-Tag

JSP-Standard-Tag-Bibliothek

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>

Syntaxformat

<fmt:bundle baseName="<string>" prefix="<string>"/>

Eigenschaft

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

Programmbeispiel

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.

JSP-Standard-Tag-Bibliothek