<fmt:setLocale> タグ

JSP 标准标签库JSP 標準タグライブラリ

<fmt:setLocale>タグは、指定されたロケールをlocale設定変数に格納するために使用されます。

構文

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

属性

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

属性 説明 必須 デフォルト値
value ISO-639言語コードとISO-3166国コードを指定します。 である en_US
variant ブラウザ固有のバリアント 否 无
scope Locale設定変数のスコープ 否 Page


サンプルプログラム

リソースバンドルには、ロケール固有のオブジェクトが含まれます。リソースバンドルにはキーと値のペアが含まれます。プログラムがロケール固有のリソースを必要とする場合、すべてのキーをすべてのロケールで共有できますが、ロケール固有に変換された値を指定することもできます。リソースバンドルは、ロケール固有のコンテンツを提供するのに役立ちます。

Javaリソースバンドルファイルには、一連のキーと値のペアが含まれます。ここで紹介する方法は、java.util.ListResourceBundleクラスを継承するコンパイル済みJavaクラスを作成することです。これらのクラスをコンパイルし、WebアプリケーションのCLASSPATHに配置する必要があります。

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

package com.サンプル;

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.サンプル;

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に配置します。これで、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:setLocale 标签</title>
</head>
<body>

<fmt:bundle basename="com.サンプル.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.サンプル.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 标准标签库JSP 標準タグライブラリ

その他の拡張機能