<fmt:setLocale>
xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
SYNOPSIS
説 明
JSTL で国際化機能/フォーマット処理を行う時に使用するロケールを設定します。通常はページの先頭で以下のように記述して、リクエストを行っているブラウザの言語設定で選択されているロケールを設定します。
JSP
<fmt:setLocale value="${pageContext.request.locale}" />
このロケールは scope 属性の設定変数 javax.servlet.jsp.jstl.fmt.locale
変数に格納され、後続の <fmt:formatDate> などがフォーマットを行う時に使用されます。
参照:
Locale
属 性
required
設定するロケールを文字列または
Locale
インスタンスを指定します。
文字列で指定する場合、ISO-639 で定義されている小文字 2 文字の言語コードと、もし必要なら ISO-3166 で定義されている大文字 2 文字の国コードをハイフン '-' またはアンダースコア '_' で連結します
(例: "en", "ja-JP", "mn_MN")。
この属性は必須ですが、値に null または長さ 0 の文字列が指定された場合は実行環境デフォルトのロケールが使用されます。
optional
Java VM ベンダーやブラウザ固有のバリアントを指定します。バリアントは言語、国をさらに詳述する情報です。たとえば Java SE 6 からは ja_JP に JP バリアントを指定することで和暦を表示することができます。
使用例
和暦と英語表記で現在時刻を出力します。
ブラウザの言語設定 (IE6 の場合 [ツール]-[インターネットオプション]-[言語]) で日本語
[ja] を優先した場合の出力は以下のように表示されます。
また英語 [en] を優先した設定でアクセスすると以下のように表示されます。
JSP
<jsp:useBean id="today" class="java.util.Date" />
<fmt:setLocale value="ja-JP" variant="JP" />
<fmt:formatDate value="${today}" dateStyle="full" /><br>
<fmt:setLocale value="en" />
<fmt:formatDate value="${today}" dateStyle="full" /><br>
実行結果
平成20年1月2日 Wednesday, January 2, 2008
ブラウザの「言語設定」で選択されているロケールを使用するには以下のように記述します。
JSP
<fmt:setLocale value="${pageContext.request.locale}" />
<fmt:formatDate value="${today}" dateStyle="full" /><br>
実行結果
2008年1月2日
実行結果
Wednesday, January 2, 2008