2012-03-16 7 views
1

JSPで曜日を出力する必要があります。明らかに私は次のことを行うことができます:国際化曜日の出力

 
<fmt:message key="day.monday" /> 
<fmt:message key="day.tuesday" /> 
... 

ロケール固有のメッセージリソースファイルでは、曜日があります。しかし、クラスのjava.text.DateSymbolsには、曜日の文字列を配列として取得するためのユーティリティメソッドが含まれており、ロケール文字列を取るコンストラクタがあります。私は<jsp:useBean>を使用してこれを使用しようとしましたが、簡単な方法でロケールを設定することはできません。<fmt:setLocale>を使用しても効果はありません。

私はこれについて間違った方法をしていますか?それはかなり一般的なもののようにする必要があり、私はこれを組み込む方法を見ることができないようです。

答えて

2

まずは、文脈によっては、nominativedativegenitive、...と書くことができます(他の場合は書き込み)。したがって、DateFormatSymbolsを直接使用することは、国際化の欠陥につながる可能性があるため、最善の考え方である必要はありません。
これらの名前をリソースにエクスポートし、翻訳者が言語に最も適したものを決定させることはおそらく良い考えです。

注:これらの翻訳をリサイクルしないでください。なぜなら、文法によって1か所に足があり、他の部分では完全に間違っているからです。これは文脈によって異なります。

ロケール依存のクラスを使用する場合は、HttpSessionを作成し、ロケールオブジェクトをそこに格納する必要があります。その後、バックエンドでそれを取得し、有効なロケール依存の情報を戻すことができます。
これは簡単ではありません。さて、Spring Framework、Struts、JSFなどのようなものを作成する理由はあります。JSP自体は、実際には使用するのが苦痛です。