2012-03-01 27 views
2

在我为spring-servlet.xml我在春天下代码 'login.userName' 对区域 '的EN_GB' 发现错误MVC

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
    <property name="basename" value="/WEB-INF/messages" /> 
</bean> 

我messages.properties文件没有消息就是我的WEB-INF内部/类和其命名为包含了像

login.userName=Username. 
login.password=pssword. 

我的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> 

messages_EN.properties当我运行此我得到下面的错误信息

No message found under code 'login.userName' for locale 'en_GB'. 

如果任何人都可以帮助我,我错了。另外,如果我需要改用其他语言,那么我需要做什么?

回答

15

您的message.properties文件的位置配置有问题。

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

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
    <property name="basename" value="WEB-INF/classes/messages" /> 
</bean> 

和文件名应该是:

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

资源映射到从SRC复制Messages.properties文件 - >主 - >资源 - > Messages.properties文件

<mvc:resources location="/resources/" mapping="/resources/**" /> 

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
<property name="basename" value="classpath:Messages" />