spring做国际化时经常会报:

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)

at com.neusoft.Test.Test.main(Test.java:43)

Exception in thread "main"

这样的错误。

总结一下,有可能由以下原因造成:

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>

还有一个要注意的是.如果你的资源文件不是在根目录下而在com.wzw.messages.messages目录下的话,你就应该这样配置了:

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">

  <property name="basenames">

   <list>

    <value>com.wzw.messages.messages</value>

   </list>

  </property>

 </bean>

PS:1  我一开始做spring 国际化的时候也遇到了这个问题,花了差不多一个小时才找到问题根源:如果你使用eclipse建的工程是class和src分开的,那么资源属性文件一定要放在src目录以内,如果创建资源文件时候是通过工程右键创建,那么myeclipse默认是放在WebRoot并列的根文件夹下

 
2,属性文件名不一定要是message或是messages,可以根据自己爱好随意取,但是记住一定要在配置文件(**.xml)文件中的<value>???</value>中填入自己取好的名字,比如新建一个资源文件alias_zh_CN.properties,那么配置文件应该这么写:<value>alias</value>,我亲自试过,是可行的.

3 ,这篇文章是转载自新浪博客,本意是让初学者少走弯路,原文URL:http://blog.sina.com.cn/s/blog_4cab775e01000a14.html

我出现这个异常的原因是因为我的配置文件不是在根目录下,如图:

但是我的配置如下:

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">

<property name="basenames">

<list>

<value>messages</value>

</list>

</property>

</bean>

只需要把配置文件改为如下就可以了:

这个问题费了我不少时间,以此文谨记。

关于Spring 国际化 No message found under code 的解决方案的更多相关文章

  1. 关于国际化时报org.springframework.context.NoSuchMessageException错,具体到No message found under code '你的键名' for locale 'zh_CN'.的解决方案

    使用IntelliJ IDEA开发工具解决方案: 总结原因,解决方案: 1,在使用messageSource.getMessage方法时,参数1的键名跟属性文件中键名不一致,比如Controller中 ...

  2. Spring国际化

    国际化(Internationalization)有时候被简称为i18n,因为有18个字母在国际化的英文单词的字母i和n之间.Spring对国际化的支持示例如下所示. 需要将spring.tld放到工 ...

  3. 解决org.springframework.context.NoSuchMessageException: No message found under code 'login.validate.er

    转自:https://blog.csdn.net/steveguoshao/article/details/36184971 在项目中遇到 org.springframework.context.No ...

  4. 深入理解spring国际化

    深入理解spring国际化 转自http://blog.csdn.net/ethan_fu/article/details/45621337

  5. Spring源码分析之循环依赖及解决方案

    Spring源码分析之循环依赖及解决方案 往期文章: Spring源码分析之预启动流程 Spring源码分析之BeanFactory体系结构 Spring源码分析之BeanFactoryPostPro ...

  6. Spring Cloud:面向应用层的云架构解决方案

    Spring Cloud:面向应用层的云架构解决方案 上期文章我们介绍了混合云,以及在实际操作中我们常见的几种混合云模式.今天我们来聊一聊Spring Cloud如何解决应用层的云架构问题. 对于Sp ...

  7. spring 国际化i18n配置

    i18n(其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称.在资讯领域,国际化(i18n)指让产品(出版物,软件,硬件等)无需做大的改 ...

  8. spring 国际化-i18n

    i18n(其 来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称.在资讯领域,国际化(i18n)指让产品(出版 物,软件,硬件等)无需做大 ...

  9. 【spring 国际化】springMVC、springboot国际化处理详解

    在web开发中我们常常会遇到国际化语言处理问题,那么如何来做到国际化呢? 你能get的知识点? 使用springgmvc与thymeleaf进行国际化处理. 使用springgmvc与jsp进行国际化 ...

随机推荐

  1. angularjs和ajax的结合使用 (二)

    今天我们来继续丰富上次的例子.我们来搞些 稍微复杂点的应用. 首先我们来加一个全选 的功能. 上一篇的例子里我们看到 分页时载入的是我们通过linq 查询自定义列 然后构建的匿名类 .使用这种EF框架 ...

  2. TabControl 伸缩式菜单 仿照 uwp SplitView

    留下备用笔记 之前用的Frame+Page的切换content<类似于一个contentControl 干多个事情>,但是发现页面content内容控件多的时候,每一次切换都有点卡,点击了 ...

  3. Ubuntu下的解压缩

    一. 命令: .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz ...

  4. jqGrid合并表头

    jqGrid是一款常用的制表软件,最近开发刚好用到.记录一下常用功能留着以后查找顺便发扬一下开源精神. 二级表头是一种经常会碰到的需求,很多时候为了方便查找需要在原有的表头上再加一层,区分表格不同列的 ...

  5. HTTPS和HTTP的概念和区别

    HTPPS和HTTP的概念 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP ...

  6. ArcGIS Engine开发之量测功能

    1.距离测量 距离测量时,片段长度通过两点之间距离计算得到,全部长度通过片段长度的和计算得到.主要用到INewLineFeedback和IScreenDisplay两个接口. 1)INewLineFe ...

  7. 函数式Android编程(II):Kotlin语言的集合操作

    原文标题:Functional Android (II): Collection operations in Kotlin 原文链接:http://antonioleiva.com/collectio ...

  8. TabLayout+ViewPager+Fragment制作页卡

    本人很懒,直接上代码了. 布局文件: <?xml version="1.0" encoding="utf-8"?><android.suppo ...

  9. iOS 消息处理之performSelector

    ////  RootViewController.h//  DSCategories////  Created by dasheng on 15/12/17.//  Copyright © 2015年 ...

  10. 模块化之Spring3.0 web fragment和gradle构建项目

      1.背景 模块化开发很久以前就开始普及的概念.但是到了企业实际情况中,真正把模块化作为系统架构的核心的不多.或者说对模块化有这个意识,但是具体到底该如何实现,有些模糊,同时也许因为项目紧.任务中. ...