
[英]javax.servlet.jsp.JspTagException: No message found under code 'errors.contact.sysadmin.msg' for locale 'en_US'.]
[英]javax.servlet.jsp.JspTagException: No message found under code 'message' for locale 'en_US'
我正在使用@ProprtySource读取属性文件,以下是我的代码-
@PropertySource(value="classpath:/application.properties")
public class HomeService{
@Value("${message}")
String message;
}
同样在我的JSP中
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<spring:eval expression="@environment.getProperty('message')" />
两者都工作正常。
注意:我没有注册任何propertySourcePlaceHolderConfigurer
或ResourceBundle
即除了上面没有其他配置。
但是,一旦我应用spring:message
as-
<spring:message code="message"/>
这给我例外-
javax.servlet.jsp.JspTagException:在代码“消息”下找不到语言环境“ en_US”的消息。
spring:message标签使用Spring的MessageSource概念为您提供国际化支持。 MessageSource是提供用于检索消息的功能的接口。 您需要配置一个ResourceBundleMessageSource才能使用spring:message-tag。
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="messages"/>
</bean>
或通过java配置:
@Bean(name = "messageSource")
public ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasenames("classpath:messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.