Spring 消息未显示

Spring Message Not Displaying

我第一次尝试在 Spring-MVC 中进行国际化,我遇到了我认为是配置问题的问题。我有一个名为 NLS_en.properties 的 NLS 文件,我将其放置在应用程序的 WEB-INF\classes 目录中。该文件包含以下 NLS 字符串:

MSG_HELLO = Hello to the Internationalized World

在我的应用程序的 servlet.xml 文件中,我定义了以下 bean:

<bean id="localeResolver"
    class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
  <property name="defaultLocale" value="en" />
</bean>
<bean id="messageSource"
    class="org.springframework.context.support.ResourceBundleMessageSource">
  <property name="basename" value="WEB-INF/classes/NLS"/>
</bean>

在我的 JSP 文件中,我有以下标签:

<p><spring:message code="MSG_HELLO" text="You should not be seeing this text" />

当 JSP 显示时,当然,我看到的消息是我不应该看到的消息,那么我必须如何配置我的应用程序才能看到我的 HELLO 消息?

ResourceBundleMessageSource basename(相对于 ReloadableResourceBundleMessageSource)默认引用类路径,所以你应该像这样:

<property name="basename" value="NLS" />

现在,根据您构建的方式,即使正确配置消息源,它也可能在您 运行 应用程序时被删除。 不要将资源直接放入 类(或一般的任何目标目录)。如果您使用 Maven,请将其直接放入资源中。如果您不使用任何构建框架,请将其放在源目录的根目录中。