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,请将其直接放入资源中。如果您不使用任何构建框架,请将其放在源目录的根目录中。
我第一次尝试在 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,请将其直接放入资源中。如果您不使用任何构建框架,请将其放在源目录的根目录中。