Spring 3 mvc命名空间和i18n

Fra*_*ois 5 spring spring-mvc internationalization

i18n和Spring 3 mvc命名空间的问题

在使用Spring的mvc命名空间时,我还没弄清楚如何解析消息.

例如,具有以下行的JSP:

<fmt:message key="welcome.title"/>
Run Code Online (Sandbox Code Playgroud)

说明:

???welcome.title???
Run Code Online (Sandbox Code Playgroud)

我在WEB-INF下有一个带有messages.properties的消息目录.

这是web-servlet.xml(我的调度程序servlet名为web).任何帮助非常感谢.

<!-- Scans for @Controllers to deploy as beans -->
<context:component-scan base-package="com.mylittlecompany.web.controllers" />

<!-- Enable annotation driven controllers, validation etc... -->
<mvc:annotation-driven />

<!-- Configures Handler Interceptors -->
<mvc:interceptors>
    <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
</mvc:interceptors>

<!-- Application Message Bundle -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <property name="basename" value="/WEB-INF/messages/messages" />
    <property name="cacheSeconds" value="1" />
</bean>

<!-- Saves a locale change using a cookie -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" />

<!-- Resolves view names to protected .jsp resources within the /WEB-INF/views directory -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

只有相关的日志文件条目:

DEBUG Thread-1 org.springframework.web.context.support.XmlWebApplicationContext - Using MessageSource [org.springframework.context.support.ReloadableResourceBundleMessageSource: basenames=[/WEB-INF/messages/messages]]
Run Code Online (Sandbox Code Playgroud)

Ale*_*kov 2

ResourceBundle 现在正在“/WEB-INF/messages”包中查找不存在的文件。

尝试将“messages”目录放入 WEB-INF/classes 并将 messageSource bean 替换为:

 <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <property name="basename" value="messages/messages" />
    <property name="cacheSeconds" value="1" />
 </bean>
Run Code Online (Sandbox Code Playgroud)