同じJSPで複数のリソースバンドルを使用する方法(fmt:setBundleタグの使い方)
JSTLの<fmt:setBundle>タグは、リソースバンドルを読み込み、その結果を名前付きスコープ変数、またはバンドル設定変数として保存するために使用します。このタグを活用することで、1つのJSPページ内で複数のリソースバンドルを扱うことが可能になります。
fmt:setBundleタグの主な属性
<fmt:setBundle>タグには、以下の属性が用意されています。
| 属性 | 説明 | 必須 | デフォルト値 |
|---|---|---|---|
| basename | スコープ変数または設定変数として公開するリソースバンドルファミリーのベース名 | はい | なし |
| var | 読み込んだ新しいバンドルを格納する変数の名前 | いいえ | デフォルトのバンドルを置き換える |
| scope | 新しいバンドルを格納する変数のスコープ | いいえ | page |
使用例
以下の例では、<fmt:setBundle>タグでリソースバンドルを読み込み、var属性で指定した変数「lang」に格納しています。その後、<fmt:message>タグのbundle属性にその変数を渡すことで、特定のバンドルからメッセージを取得しています。
<%@ 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:setBundle 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
ポイント: var属性を省略した場合、読み込まれたバンドルはデフォルトのバンドルとして設定され、以降の<fmt:message>タグでbundle属性を明示しなくても自動的に参照されます。一方、var属性を指定すれば複数のバンドルを別々の変数として保持できるため、ページ内で言語や用途ごとに異なるリソースバンドルを切り替えて使うことができます。
-
Firefoxで複数のピクチャーインピクチャーを同時に使う方法
Firefoxはバージョン86から、複数の動画をピクチャーインピクチャーモードで同時に再生できる機能を搭載しました。この便利な機能を使えば、複数の動画を同時に開いて視聴できます。この記事では、Firefoxで複数ピクチャーインピクチャーモードを使う方法とその活用シーンを詳しく解説します。 複数の動画をピクチャーインピクチャーモードで再生する手順 ピクチャーインピクチャー機能は一見すると分かりにくいのですが、Firefoxのタブ内で再生中の動画にマウスカーソルを重ねると表示される小さなアイコンとして現れます。以下の手順で有効化できます。 Firefoxで動画が掲載されている任意のウェブサイトを
-
複数のGmailアカウントを同時に使用する3つの方法を徹底解説
学校や仕事の用途、あるいはメインのメールアドレスが少し恥ずかしいものであるといった理由で、ほとんどの人が人生のどこかのタイミングで複数のメールアカウントを持つことになります。追加のメールアカウントも、メインのアドレスと同じように確認・管理・活用していく必要があります。2つのアカウントが異なるメールサービスであれば特に問題はありませんが、両方ともGmailのように同じプロバイダーに登録されている場合はどうすればよいのでしょうか?他のメールサービスであれば、同時に使えるのは1つのアカウントだけと諦めるしかありません。しかし幸いなことに、Gmailには複数のアカウントを同時に利用する方法がいくつか用