我正在尝试首次在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消息呢?
答案 0 :(得分:1)
ResourceBundleMessageSource basename(与ReloadableResourceBundleMessageSource相对)默认指向类路径,因此你应该像:
<property name="basename" value="NLS" />
现在,根据您的构建方式,即使正确配置了消息源,它也可能在您运行应用程序时被删除。 不要将资源直接放入类(或一般的任何目标目录)。如果你使用maven将它直接放入资源中。如果您不使用任何构建框架,请将其放在源目录的根目录中。