用Spring ResourceBundle时,抛了异常:
org.springframework.context.NoSuchMessageException: No message found under code 'userlogin' for locale 'zh_CN'.
at org.springframework.context.support.DelegatingMessageSource.getMessage(DelegatingMessageSource.java:65)
at org.springframework.context.support.AbstractApplicationContext.getMessage(AbstractApplicationContext.java:646)
经过网搜,清一色的转帖解决方案:
写道
这样的错误。
总结一下,有可能由以下原因造成:
1.如果你使用eclipse创建的工程是class和src分开的,那么资源属性文件一定要放在src目录以内。
2.属性文件名的写法:
messages_zh_CN.properties (中文)
messages_en_US.properties (英文)
3.配置messageSource这个bean(注意:一定是messageSource不是messageResource ,这是Spring规定的)
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>messages</value>
</list>
</property>
</bean>
注意以上问题,就OK了。
其实,上面的解决方案纯属瞎扯淡:
1.资源文件放在哪里,鬼才管你,爱放哪里放哪里,只要用时找的到;
2.资源文件命名规则的本质是:(你的资源文件可以是任意你喜欢的,比如msgResource)
2.1 msgResource.properties 找不到对应的Locale时;
2.2 msgResource_zh_CN.properties Locale为中文时;
2.3 msgResource_en_US.propertise Locale为英文时;
。。。支持其它语言请自行网搜,否则,就采用默认的msgResource.properties;
3.Spring Bean的id爱起啥名起啥名,鬼才管你。
那上面所说的异常到底是如何引起的呢?很简单,加载的资源文件位置不对。
下面是一个正确的样例(抛砖引玉,相信您看到懂):
<bean id="msgResource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:msg/yyTips</value>
<value>classpath:msg/ipTips</value>
</list>
</property>
<property name="cacheSeconds" value="-1"/>
</bean>
在msg目录下的资源文件有:
yyTips.properties、yyTips_zh_CN.properties、yyTips_en_US.properties,可以根据需要加载其它语言支持
顺便提及一下,get时出现中文乱码时,应当如何解决?
最快、最直接的方法是用PropertiesEditor编辑属性文件,并将属性文件设置为ISO-8859-1编码,以便确保有效的将中文转为Unicode编码。
附PropertiesEditor地址:http://propedit.sourceforge.jp/eclipse/updates/,至于eclipse安装该插件的方法,请自行网搜,很简单的。
分享到:
相关推荐
三维数字化技术综合应用— — 水桶建模 水桶建模 除了可以对整个三维模型应用编辑修改器 之外,还可以对构成三维模型的顶点、边、 面、多边形和元素5个层级的子对象进行编 辑操作。通过对子对象的操作,可以制作 出...
就是经典的有两个已知容量的水桶量取指定体积水的算法实现。
水桶分水算法代码
3dmax (车削)水桶
自动化水桶提手组装机sw16可编辑.rar
minecraft 水桶服 欢迎大家下载
以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。 工程...
自动化水桶提手组装机sw16可编辑设计图纸.7z
水桶注塑模具设计说明.doc
小班玩沙游戏:给水桶喂“沙”.doc
这是一个我的世界1.5.1水桶服务器,在网上已经很难找到了,还集成了31个插件
自动化水桶提手组装机3D图纸和工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
幼儿园教案2021-小班玩沙游戏:给水桶喂“沙”.doc
用Python实现了“三个水桶等分8升水的问题”
隐身桶 一桶堆未知的知识!哇! 关于 Shell脚本包装器的一个好记的名字是围绕创建和安装LUKS容器。 我永远不会记得这个过程,所以我想我会制作一个shell脚本来为我记住它,并在互联网上发布它,以防它帮助...安装水桶:
自动化水桶提手组装机sw16可编辑_零件图_机械工程图_机械三维3D设计图打包下载.zip
工作与生活的积极策略《你的水桶有多满》.pptx
Spring就像一个大水桶,把SpringMVC、Service层、MyBatis联合起来。 各个项目之前没什么业务逻辑上的联系,写在一起是为了利用Maven的模块管理 机制方便的管理依赖 ## 总体思路 #### dao层 MyBatis与Spring整合,...
纺织枢纽服务和水桶库 Textile可以连接和扩展 , 和 。 化妆纺织品的三种互操作技术: :基于Libp2p构建的无服务器p2p数据库 :基于Filecoin和IPFS构建的文件存储 存储:基于ThreadDB,Powergate和构建的文件和...
SW教程