2

ロケールに基づいてプロパティ ファイルをロードする必要があり、サーブレットに以下のコードがあります。

ResourceBundle contactBundle = ResourceBundle.getBundle("/popproperties/impprops", request.getLocale());

poppropertiesまた、フォルダー内に以下のように小道具ファイルを作成しました。

impprops_en_US.properties

//some key value pairs here

上記のコードは問題なく正常に動作します。私の質問は、impprops_en_US.properties. ユーザーがブラウザー設定を US から他のロケールに変更した場合、対応する他のロケールのプロパティ ファイルはありません。そのような場合でも、ファイルをロードする必要がありimpprops_en_US.propertiesます。どうやってやるの?としてもう 1 つのプロパティ ファイルを作成する必要がありますimpprops.properties か?

ありがとう!

4

1 に答える 1

4

選択時にnull/defaultを取得している場合など、コードにdefault locale応じてチェックを行い、目的のロケールをロードできます。たとえば、私の場合:

   String cc=req.getParameter("country");
   String ln=req.getParameter("language");
   Locale l=null;
   if(cc==null)
     l=new Locale("en","US");
   else
     l=new Locale(ln,cc);

   ResourceBundle rb=ResourceBundle.getBundle("ApplicationResources",l);
   req.setAttribute("resource", rb);
于 2013-08-30T10:52:45.953 に答える