javaEE Web项目 Spring 的国际化异常 No message found
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaEE Web项目 Spring 的国际化异常 No message found相关的知识,希望对你有一定的参考价值。
这是国际化的配置在springmvc的配置文件中:
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
</mvc:interceptors>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="i18n.messages"/>
<property name="useCodeAsDefaultMessage" value="true"/>
</bean>
我的国际化文件:
zh_CN 中内容:
test.title=\u8fd9\u91cc\u662f\u6d4b\u8bd5\u4f7f\u7528\u7684\u6807\u9898\u54e6
JSP页面:
<spring:message code="test.title" />
报错:
No message found under code 'test.title' for locale 'zh_CN'.
求助。。。
解决方法:
application.properties增加配置:如下:
login是你的文件的名字
#国际化配置
spring.messages.basename=i18n/login
#-1 no expried
spring.messages.cache-seconds= -1
spring.messages.encoding=UTF-8 参考技术B spring mvc 配置修改下
bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>/WEB-INF/i18n/messages</value>
</list>
</property>
<property name="cacheSeconds" value="0"/>
</bean>追问
对应位置也放了 属性文件了。。 重启依然是那个错误。。
参考技术C 我试过了,是mvc:interceptors的问题追问何解?
追答刚才又试了一下,好像不是,你是地址栏直接输jsp的?
我用你的试,没有问题
不是啊,是默认首页,应该是直接jsp的吧
2 没有问题???
我是经过后台,再调到jsp的,直接进jsp也没有问题啊
追问为什么我这里有错。。对了 我用的maven 不会是这原因吧。。。
追答我也是maven
我知道了,你不要把messageSource放在mvc的xml里放applicationContext.xml里,问题解决
我也有这个感觉,但是这里按照包的位置是对的吧?
javaEE项目启动过程中Spring是怎么一步步执行的?
你这个问题问的不清楚,如果是和其他框架整合,运行过程如下。Spring+struts1,tomcat启动,创建容器。web.xml是服务器最先调用的文件。
2,然后加载WEB-INF下的web.xml初始化里面内容,
3,spring配置文件初始化,主要是ioc反转控制,和aop切面。spring注入是面向接口编程。
3,因为web.xml初始化了,说明struts过滤器也被创建,下面就可以拦截请求了。
4,页面请求发出,被status拦截送到action,action里面有spring注入接口。可以直接调用方法不需要new 对象。再然后就是业务处理。
下面这是个springMVC单独使用。不用注解的情况下。
与servlet处理请求方式差不多, 参考技术A Spring就是起一个桥梁的作用,简单说下流程吧,就是表示层:页面中发送请求————spring注解,给struts————Struts调用底层代码获得数据后返回数据————spring接受————返回给表示层 在整个流程中数据都存在spring中
以上是关于javaEE Web项目 Spring 的国际化异常 No message found的主要内容,如果未能解决你的问题,请参考以下文章
Java EE 学习:IDEA + maven + spring 搭建 web- 博客文章管理