2017-11-02 15 views
0

フランス語と米国英語のファイル(messages_en_US.propertiesmessages_fr.properties)のみを定義しました。 ロケールにプロパティファイルがない場合のmessageSourceのメッセージを取得するにはどうすればよいですか?

@Configuration 
public class LocalizationConfig 
{  
    @Bean 
    public LocaleResolver getLocaleResolver() 
    { 
     SessionLocaleResolver resolver = new SessionLocaleResolver(); 

     //Default to the US 
     resolver.setDefaultLocale(Locale.US); 

     return resolver; 
    } 
} 

しかし、私は以下のメソッドを呼び出すとき、それは「NoSuchMessageException」をスローします:私はまた、EN-USとしてデフォルトを設定するには、豆のロケールリゾルバを作成している

messageSource.getMessage(
    "test.message", 
    new Object[] {}, 
    Locale.GERMAN 

)。

要求されたロケールが存在しない場合、どのようにデフォルトを使用するようにしますか?

答えて

0

messages_en_US.propertiesの名前をmessages.propertiesに変更できます。あなたのケースでは "fr"以外のロケールのデフォルトメッセージバンドルになります。

+0

問題は、 'MessageSource'のためにBeanを追加し、そこに適切なディレクトリにベース名を設定する必要がありました。 –

関連する問題