2017-02-25 10 views
0

私はSpringフレームワークを使用してmavenプロジェクトに取り組んでいます。春にmessages.propertiesが見つかりません

JSPに生テキストを書き込むのではなく、<spring:message .../>タグを使用し、メッセージを.propertiesファイルに登録することをお勧めします。

ページを要求するとき、私はこの警告を得る:

のResourceBundle [メッセージ] MessageSourceが見つかりません:その後もたらしベース名メッセージ用することができません 検索バンドル、ロケールFR

メッセージが見つからない(明らかに)例外に関する例外です。ここで

は私のプロジェクトの階層です:

my project's hierarchy

ここに私のspringapp-servlet.xmlだ:

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
         http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
         http://www.springframework.org/schema/mvc 
         http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd 
         http://www.springframework.org/schema/aop 
         http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
         http://www.springframework.org/schema/context 
         http://www.springframework.org/schema/context/spring-context-2.5.xsd"> 

<context:component-scan base-package="app.core" /> 

<bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/WEB-INF/jsp/"> 
    </property> 
    <property name="suffix" value=".jsp"> 
    </property> 
</bean> 

<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"> 
    <property name="defaultLocale" value="fr" /> 
</bean> 

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

<mvc:resources mapping="/public/**" location="/WEB-INF/resources/" 
       cache-period="31556926"/> 

<mvc:annotation-driven /> 

</beans> 

答えて

1

the documentationから:

ベース名は、ResourceBundleの規則に従います。基本的に、完全修飾のclasspathロケーション。パッケージ修飾子(org.mypackageなど)が含まれていない場合は、クラスパスルートから解決されます。

(強調鉱山)

だから、src/main/resourcesの下でなければなりません。

+0

これは機能しました。ありがとう!私のIDE(intellijのアイデア)ではbasenameの値が警告されます。 –