2012-04-15 176 views
1

我开发了一个简单的Spring应用程序,这是我的大学任务。有3个配置文件:web.xml,core-context.xml,dispatcher-servlet.xml和1个具有默认属性的文件,名为messages.properties,位于/ WEB-INF /文件夹中。Spring ReloadableResourceBundleMessageSource配置

在我的应用我有ReloadableResourceBundleMessageSource以下配置和正常工作:

核心的context.xml

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
    <property name="basenames" value="/WEB-INF/messages" /> 
    <property name="useCodeAsDefaultMessage" value="true" /> 
</bean> 

的web.xml

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>classpath*:core-context.xml</param-value> 
</context-param> 
<servlet> 
    <servlet-name>dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

但事实证明,我的任务指示说我应该配置在dispatcher-servlet.xml中的ReloadableResourceBundleMessageSource bean。问题是,无论何时从core-context.xml中删除上述配置并将其放入dispatcher-servlet.xml中,我的本地都不再显示。

您能向我解释为什么会出现问题吗? 将bean配置放入core-context.xml和dispatcher-servlet.xml之间有什么区别?

回答

0

你还没有发布你的dispatcher-servlet.xml,但我相信它没有被spring容器初始化,因为它没有被声明在任何地方。如果您必须指定另一个名为dispatcher-servlet.xml的文件,那么您可以将其导入到core-context.xml中。这应该可以解决你的问题。