JSTL リファレンス

<fmt:setBundle>
xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"

SYNOPSIS

<fmt:setBundle
basename*="リソースバンドル名"
var="変数名"
/>

説 明

basename 属性で指定したリソースバンドルを特定の変数に格納します。

このタグは一つの JSP の中で複数のリソースバンドルを参照しなければばならない 場合に使用します。全てかほとんどのリソースが一つのリソースバンドルに まとめられているなら <fmt:bundle> を使用した方が簡単です。

属 性

basename="リソースバンドル名"
required

ロードするリソースバンドルの名前。これは FQN でクラス名を記述するのと同様に、パッケージ部分を . で区切った 拡張子 (.class または .properties) を省略した形式の文字列 です。例えば biz/moyo/lab/resource/recipe.properties というファイル を指定する場合は "biz.moyo.lab.resource.recipe" となります。

var="変数名"
optional

ロードしたリソースバンドルの格納先変数名を指定します。 この変数には LocalizationContextJava™ API リファレンス のインスタンスが格納されます。

値を省略した場合は設定変数 javax.servlet.jsp.jstl.fmt.localizationContext に格納されます。

使用例

<fmt:bundle> のサンプルで使用した リソースバンドルをここでも使用します。日本語版リソースバンドルは以下の通りです (native2ascii で変換を行う前)。
gourmet_ja.properties (変換前)
food.japanese.susi.tuna = まぐろ
food.japanese.susi.fattytuna = トロ
food.japanese.susi.abalone = あわび
food.japanese.susi.turbot = ひらめ
food.japanese.susi.congereel = あなご
food.japanese.susi.flatfish = かれい
food.japanese.susi.seaurchin = うに
food.japanese.susi.calamari = いか
food.japanese.susi.herringroe = 数の子
food.japanese.susi.octopus = たこ
リソースバンドルに定義されているリソース、定義されていないリソース、長さ 0 のキー名で それぞれ実行します。未定義のリソースに対しては ??? が付加されているのが分かります。
JSP
<fmt:bundle basename="biz.moyo.lab.resource.sample.gourmet">
  <fmt:message key="food.japanese.susi.turbot" /><br>
  <fmt:message key="food.japanese.susi.bonito" /><br>
  <fmt:message key="" /><br>
</fmt:bundle>
実行結果
ひらめ
???food.japanese.susi.bonito???
??????
CVS 2008/03/09