在代码'login.userName'下找不到Spring MVC中locale'en_GB'错误的消息

use*_*884 3 spring spring-mvc

在我的spring-servlet.xml中,我有

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

我的messages.properties文件位于我的WEB-INF/classes中,它的名称为messages_EN.properties,其中包含like

login.userName=Username.
login.password=pssword.
Run Code Online (Sandbox Code Playgroud)

我的jsp文件有

 <%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
 <%@taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>

 <html> 
<head> 
 <title> Login </title>
 </head> 
 <body>
 <form:form method="post" action="home.htm">
  <label> <spring:message code="login.userName"/></label>
 </form:form>
 </body>
 </html>
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我收到以下错误消息

  No message found under code 'login.userName' for locale 'en_GB'.
Run Code Online (Sandbox Code Playgroud)

如果有人能帮助我,我错了.此外,如果我需要更改为其他语言,那么我需要做什么?

nde*_*rge 16

您在message.properties文件的位置配置中遇到问题.

如果文件位于WEB-INF/classes目录下,那么Spring配置应该是:

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

并且文件的名称应该是:

  • messages.properties
  • messages_en.properties
  • messages_en_GB.properties