弹出消息不显示

时间:2015-03-06 16:47:37

标签: java spring jsp spring-mvc internationalization

我正在尝试首次在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消息呢?

1 个答案:

答案 0 :(得分:1)

ResourceBundleMessageSource basename(与ReloadableResourceBundleMessageSource相对)默认指向类路径,因此你应该像:

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

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