JSTLのfmt:messageタグでキーをローカライズされたメッセージにマップし、パラメトリック置換を実行する方法
JSPのJSTL(JSP Standard Tag Library)に含まれる<fmt:message>タグは、指定したキーに対応するローカライズ済みメッセージをリソースバンドルから取得し、必要に応じてパラメトリック置換(パラメータの埋め込み)を実行します。多言語対応のWebアプリケーションを構築する際に欠かせない、国際化(i18n)対応のための重要なタグです。
主な属性
<fmt:message>タグには、以下の属性が用意されています。
| 属性 | 説明 | 必須 | デフォルト値 |
|---|---|---|---|
| key | 取得対象となるメッセージのキー | いいえ | タグの本文(ボディ) |
| bundle | 使用するリソースバンドル | いいえ | デフォルトバンドル |
| var | ローカライズされたメッセージを格納する変数名 | いいえ | ページに直接出力 |
| scope | メッセージを格納する変数のスコープ | いいえ | page |
使用例
以下の例では、<fmt:setLocale>でロケールを設定し、<fmt:setBundle>でリソースバンドルを読み込んだ上で、<fmt:message>タグを使って各キーに対応するメッセージを取得・表示しています。
<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ taglib uri = "https://java.sun.com/jsp/jstl/fmt" prefix = "fmt" %>
<html>
<head>
<title>JSTL fmt:message Tag</title>
</head>
<body>
<fmt:setLocale value = "en"/>
<fmt:setBundle basename = "com.tutorialspoint.Example" var = "lang"/>
<fmt:message key = "count.one" bundle = "${lang}"/><br/>
<fmt:message key = "count.two" bundle = "${lang}"/><br/>
<fmt:message key = "count.three" bundle = "${lang}"/><br/>
</body>
</html>
上記のコードを実行すると、リソースバンドル内の各キーに紐づけられたメッセージが順に出力され、以下のような結果が得られます。
One Two Three
このように、<fmt:message>タグを活用することで、表示テキストをJSPから分離し、ロケールごとに適切な言語のメッセージを動的に切り替えることができます。var属性とscope属性を組み合わせれば、出力せずに変数へ格納して再利用することも可能です。
-
GNOME Mapsのダウンロード方法とルートをPDFとしてエクスポートする手順
「プライバシーが侵害されているのでは」という懸念からGoogleマップからの乗り換えをお考えですか?Linuxユーザーであれば、「GNOME Maps」を使えば現在地から目的地までの最適なルートを簡単に見つけられます。さらに便利なことに、地図とナビゲーション指示をPDFとしてエクスポートできるため、オフラインでも持ち歩けます。本記事では、その具体的な手順を詳しく解説します。 GNOME Mapsのダウンロードとインストール GNOME Mapsは、お使いのディストリビューションのソフトウェアセンターやパッケージマネージャーから入手できます。コマンドラインを使う場合は、UbuntuやDeb
-
Windowsキーを有効または無効にする方法【5つの対処法】
Windowsキーはすべてのキーボードに搭載されており、さまざまな操作で活用されています。Windowsキーを単体で押すとスタートメニューが開き、他のキーとの組み合わせでも利用できます。例えば、「Windowsキー + E」でエクスプローラーが開き、「Windowsキー + R」で「ファイル名を指定して実行」ダイアログが表示されるなど、便利なショートカットが多数あります。しかし、Windowsキーが正常に動作しないと、これらの操作が一切できなくなってしまいます。では、なぜこのような問題が発生するのでしょうか。Windowsキーが動作しない原因としては、キーボード自体の不具合、システム設定、ゲー