2

Spring で ResourceBundleMessageSource を使用しようとしています。これが私のプロジェクト構造です: ここに画像の説明を入力

そして、ここにxml構成があります:

<bean name="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename">
        <value>messages</value>
    </property>
</bean>

アプリケーション コンテキストを読み込もうとすると、次の例外が発生します。

Jun 7, 2012 2:44:00 PM org.springframework.context.support.ResourceBundleMessageSource getResourceBundle
WARNING: ResourceBundle [messages] not found for MessageSource: Can't find bundle for base name messages, locale en_US
Exception in thread "main" org.springframework.context.NoSuchMessageException: No message found under code 'user.welcome' for locale 'en_US'.
    at org.springframework.context.support.AbstractMessageSource.getMessage(AbstractMessageSource.java:135)
    at org.springframework.context.support.AbstractApplicationContext.getMessage(AbstractApplicationContext.java:1192)
    at com.pramati.core.MessageResolver.getMessage(MessageResolver.java:19)

リソース バンドル ファイルを直接リソース フォルダーの下に置くと、このエラーは発生しません。正常に動作しています。リソースバンドルを src/main/resources のサブディレクトリに置くことで、この作業を行う方法を教えてもらえますか?

4

1 に答える 1

5

ここでフォルダ名を指定する必要があります -

<property name="basename">
      <value>resourceBundles/messages</value>
</property>
于 2012-06-07T09:34:33.600 に答える