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

<fmt:setLocale>タグ

JSP 标準タグライブラリ

<fmt:setLocale>タグは、指定された地域をlocale設定変数に保存するために使用されます。

構文形式

<fmt:setLocale value="<string>" variant="<string>" scope="<string>"/>

属性

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

属性説明必要かどうかデフォルト値
ISOを指定-639 言語コードおよびISO-3166 国コード はい en_US
バージョン 特定のブラウザバージョン いいえ なし
範囲 Locale設定変数の範囲 いいえ ページ

プログラム例

リソースバンドは、地域特定のオブジェクトを含んでいます。リソースバンドはキー値ペアを含んでいます。プログラムが地域特定のリソースが必要な場合、すべてのキー値ペアをすべての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"},
  };
}

さらに、Spanish Locale用のリソースバンドを定義します:

package com.w;3codebox;
import java.util.ListResourceBundle;
public class Example_es_ES extends ListResourceBundle {
  public Object[][] getContents() {
    return contents;
  }
  static final Object[][] contents = {
  {"count.one", "Uno"},
  {"count.two", "Dos"},
  {"count.three", "Tres"},
  };
}

以上のファイルをExamble.classとExamble_es_ES.classにコンパイルし、それらをWebアプリケーションのCLASSPATHに配置します。今やこれらの3つの数字をJSTLタグで表示できます:

<%@ 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:setLocale タグ</<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>
<!-- 地域を変更-->
<fmt:setLocale value="es_ES"/>
<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
Uno
Dos
Tres

確認<fmt:bundle>および<setBundle>詳細情報を取得するために。

JSP 标準タグライブラリ