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. StructureMap 代码分析之Widget 之Registry 分析 (1)

    说句实话,本人基本上没用过Structuremap,但是这次居然开始看源码了,不得不为自己点个赞.Structuremap有很多的类,其中有一个叫做Widget的概念.那么什么是Widget呢?要明白 ...

  2. Windows下Memcached安装与配置实例

    环境声明: 服务器: Windows Server 2008r2: Memcached: Memcached 64-bit for Windows(64位) From: http://www.urie ...

  3. HibernateUtil.java

    package com.hkwy.util; import org.hibernate.Session; import org.hibernate.SessionFactory; import org ...

  4. spring框架之javaconfig

    简介:随着java5的推出,加上当年基于纯java annotation的依赖注入框架Guice的出现,spring推出并持续完善了基于java代码和annotation元信息的依赖关系绑定描述方法, ...

  5. [转载]windows 7 IIS 7.5 ASP.Net 文件上传大小限制

    原文出处: 原文作者:云中岳 原文链接:http://www.cnblogs.com/netlover/archive/2011/07/08/Win7_IIS_Upload.html IS 7 默认文 ...

  6. Drupal 8.2.4安装简体中文步骤

    安装的时候发现很多情况下会出现各种问题,现在写下自己安装成功的步骤: 1.首先官网下载zip安装包drupal-8.2.4.zip 2.下载官方提供的8.2.4简体中文语言包drupal-8.2.4. ...

  7. JqueryDataTable的使用(.Net平台)

    上一篇随笔提到了MvcPager,最近用到了一款前端JQ插件------DataTable(简称DT),很好用. DT是一款前端插件,和后端完全分离开,就这点来看,我就特别喜欢. 一.使用DT,需要以 ...

  8. 你必须收藏的Github技巧

    一秒钟把Github项目变成前端网站 GitHub Pages大家可能都知道,常用的做法,是建立一个gh-pages的分支,通过setting里的设置的GitHub Pages模块可以自动创建该项目的 ...

  9. ES6之字符串扩展方法(常用)

    es6这个String对象倒是扩展了不少方法,但是很多都是跟字符编码相关,个人选了几个感觉比较常用的方法: includes 搜索字符的神器 还记得我们之前如何判断某个字符串对象是否包含特地字符的吗? ...

  10. 微软要如何击败Salesforce?Office365、Azure、Dynamics365 全面布局AI | 双语

    微软在上月宣布组建自己的 AI 研究小组.该小组汇集了超过 5000 名计算机科学家和工程师,加上微软内部研究部门,将共同挖掘 AI 技术. 与此同时,亚马逊,Facebook,Google,IBM ...