[英]No message found under code 'user.title' for locale 'en_US'
尝试实施Spring i18n时遇到此错误。 我在Stackoverflow上检查了其他有相同问题的帖子,但都没有解决我的问题...任何想法都将不胜感激!
完整错误:
type Exception report
message javax.servlet.ServletException: javax.servlet.jsp.JspTagException: No message found under code 'user.title' for locale 'en_US'.
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspTagException: No message found under code 'user.title' for locale 'en_US'.
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:462)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
javax.servlet.ServletException: javax.servlet.jsp.JspTagException: No message found under code 'user.title' for locale 'en_US'.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)
org.apache.jsp.index_jsp._jspService(index_jsp.java:103)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
javax.servlet.jsp.JspTagException: No message found under code 'user.title' for locale 'en_US'.
org.springframework.web.servlet.tags.MessageTag.doEndTag(MessageTag.java:202)
org.apache.jsp.index_jsp._jspx_meth_spring_005fmessage_005f0(index_jsp.java:124)
org.apache.jsp.index_jsp._jspService(index_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.64 logs.
基于注释的配置:
@Bean
public ResourceBundleMessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasename("WEB-INF/i18n/messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Bean
public LocaleResolver localeResolver() {
CookieLocaleResolver resolver = new CookieLocaleResolver();
resolver.setDefaultLocale(new Locale("en"));
resolver.setCookieName("myLocaleCookie");
resolver.setCookieMaxAge(4800);
return resolver;
}
messages_zh_CN.properties:
user.title= Fill User Form
user.name= Enter Name
user.age= Enter Age
user.submit= Submit
user.success= You have successfully submitted the form
index.jsp(用于简单测试):
<%@ include file="/WEB-INF/jsp/head.jsp"%>
<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<body>
<h3> <spring:message code="user.title"/></h3>
</body>
资源包“消息”在“ WebContent / WEB-INF / i18n”下,“ MywebappConfig.java”用于配置。 不用担心控制器和其他东西,因为它们甚至没有在index.jsp中使用。
我认为此问题必须在设置基本名称的配置文件中发生。 有人说使用“ / WEB-INF / i18n / messages”代替“ WEB-INF / i18n / messages”,但这没什么区别。 所以.....任何想法吗?
********编辑**************
可能是个好问题,要问我应该将消息包放在哪里?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.