繁体   English   中英

javax.servlet.jsp.JspTagException:在代码“ message”下找不到语言环境“ 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')" />

两者都工作正常。

注意:我没有注册任何propertySourcePlaceHolderConfigurerResourceBundle即除了上面没有其他配置。

但是,一旦我应用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM