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

<fmt:bundle> タグ

JSP スタンダードタグライブラリ

<fmt:bundle>タグは、<fmt:bundle>タグ内に現れる<fmt:message>タグで指定されたリソースバンドを利用可能にします。これにより、各<fmt:message>タグにリソースバンドを指定する手間を省くことができます。

例えば、以下の2つの<fmt:bundle>ブロックは同じ出力を生成します:

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

属性

<fmt:bundle>タグには以下の属性があります:

属性 説明 必要なかどうか デフォルト値
ベース名 読み込まれるリソースバンドのベース名を指定します はい なし
プレフィックス <fmt:message>タグのkey属性のプレフィックスを指定します いいえ なし

プログラム例

リソースバンドは、地域固有のオブジェクトを含んでいます。リソースバンドはキー値ペアを含んでいます。プログラムが地域固有のリソースが必要な場合、すべてのキー値ペアをすべてのlocaleで共有することができますが、localeに対して変換された値を指定することもできます。リソースバンドは、指定されたlocaleに対する内容を提供するのに役立ちます。

Javaリソースバンドファイルは、一連のキー値ペアを含んでいます。私たちが関心を持っている方法は、java.util.ListResourceBundle クラスを継承する既编译Javaクラスの作成に関係しています。これらのクラスをコンパイルして、WebアプリケーションのCLASSPATHに配置する必要があります。

デフォルトのリソースバンドを定義しましょう:

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

上記のファイルを Example.class としてコンパイルし、WebアプリケーションのCLASSPATHで見つかる場所に配置します。今やJSTLを使ってこれら3つの数字を表示できます、以下のように:

<%@ 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.w3codebox.Example" prefix="count.">
   <fmt:message key="one">/><br/>
   <fmt:message key="two"/><br/>
   <fmt:message key="three"/><br/>
</fmt:bundle>
</body>
</html>

実行結果は以下の通りです:

One 
Two 
Three

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.w3codebox.Example">
   <fmt:message key="count.one"/><br/>
   <fmt:message key="count.two"/><br/>
   <fmt:message key="count.three"/><br/>
</fmt:bundle>
</body>
</html>

実行結果は以下の通りです:

One 
Two 
Three

を確認できます<fmt:setLocale>および<fmt:setBundle>もっと情報を得るために。

JSP スタンダードタグライブラリ