Balise <fmt:bundle>

JSP 标准标签库Bibliothèque de balises standard JSP

La balise <fmt:bundle> rend le bundle de ressources spécifié disponible pour les balises <fmt:message> qui apparaissent dans la balise <fmt:bundle>. Cela peut vous épargner de nombreuses étapes de spécification du bundle de ressources pour chaque balise <fmt:message>.

Par exemple, les deux blocs <fmt:bundle> suivants produiront la même sortie :

<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>

Format de syntaxe

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

Attributes

La balise <fmt:bundle> possède les attributs suivants :

Attribut Description Requis Valeur par défaut
basename Spécifie le nom de base du bundle de ressources à charger Oui Aucune
préfixe Spécifie le préfixe pour l'attribut key de la balise <fmt:message> non Aucune


Exemple de programme

Les bundles de ressources contiennent des objets spécifiques à la locale. Les bundles de ressources contiennent des paires clé-valeur. Lorsque votre programme a besoin de ressources spécifiques à la locale, vous pouvez partager toutes les clés entre toutes les locales, mais vous pouvez également spécifier des valeurs traduites pour la locale. Les bundles de ressources peuvent aider à fournir du contenu spécifique à une locale.

Un fichier de bundle de ressources Java contient une série de paires clé-valeur. La méthode qui nous intéresse consiste à créer des classes Java compilées qui étendent la classe java.util.ListResourceBundle. Vous devez compiler ces classes et les placer dans le CLASSPATH de votre application Web.

Définissons un bundle de ressources par défaut :

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"},
  };
}

Compilez le fichier ci-dessus en Example.class, puis placez-le là où le CLASSPATH de votre application Web peut le trouver. Vous pouvez maintenant utiliser JSTL pour afficher ces trois nombres, comme ceci :

<%@ 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>

La sortie est la suivante :

One 
Two 
Three

Modifiez-le pour qu'il n'ait pas d'attribut prefix :

<%@ 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>

La sortie est la suivante :

One 
Two 
Three

Vous pouvez consulter<fmt:setLocale>et<fmt:setBundle>pour plus d'informations.


JSP 标准标签库Bibliothèque de balises standard JSP

Autres extensions